my nixos system configuration
Find a file
2024-06-03 19:19:03 +02:00
dot_config Update .config/fontconfig/conf.d/30-monospace.conf 2024-06-03 19:19:03 +02:00
dot_emacs.d@47b716d5a6 add emacs.d as submodule 2023-09-20 23:30:50 +02:00
dot_scripts switching to chezmoi 2023-09-20 18:17:36 +02:00
private_dot_gnupg add gpg config for wsl2 integration 2023-09-20 19:05:19 +02:00
private_dot_local/private_share/konsole add konsole config 2023-11-06 13:24:02 +01:00
screenshots add screenshots back 2023-09-20 18:25:50 +02:00
.chezmoi.toml.tmpl add flavor management + catpuccin frappe on gnome 2024-02-07 15:27:27 +01:00
.chezmoiignore add script to install flatpaks 2024-02-14 10:12:12 +01:00
.gitmodules add emacs.d as submodule 2023-09-20 23:30:50 +02:00
arch_packages change packages name to be os specific 2024-02-07 13:41:20 +01:00
dev-container-install.sh remove nvm install 2023-10-03 09:33:02 +02:00
dot_bash_profile switching to chezmoi 2023-09-20 18:17:36 +02:00
dot_bashrc Update .bashrc 2024-03-20 17:02:33 +01:00
dot_gitconfig add gitconfig 2023-09-20 18:33:18 +02:00
dot_gtkrc-2.0 switching to chezmoi 2023-09-20 18:17:36 +02:00
dot_profile add bun to profile path 2023-09-26 11:19:41 +02:00
fedora_packages Update .config/fish/fish_variables 2024-06-03 17:32:55 +02:00
flatpaks remove floorp from flatpaks 2024-03-20 17:03:31 +01:00
README.md update readme 2024-02-07 16:01:04 +01:00
run_once_10_install_programs.sh.tmpl Update .config/fish/fish_variables 2024-06-03 17:32:55 +02:00
run_once_30_configure_fish.sh.tmpl rename scripts to a more conventional unix nomenclature 2024-03-20 17:13:25 +01:00
run_once_40_configure_gnome.sh.tmpl rename scripts to a more conventional unix nomenclature 2024-03-20 17:13:25 +01:00
run_once_50_install_flatpaks.sh.tmpl rename scripts to a more conventional unix nomenclature 2024-03-20 17:13:25 +01:00

My dotfiles

I use different flavors for my configuration, as I prefer having a window manager on my laptop, and a desktop environment on my desktop. Therefore, the programs installed as well as the configuration files are different for each of them. Currently, it works using the operating system name but I'm currently working on changing it as you might want to use a window manager on Fedora for instance. The different configurations are going to be detailed below.

This configuration uses git submodules in order to integrate my Emacs config from a separate repository, so make sure to initialize them before trying to install it (installation instructions below).

Since I use 1password as my password manager, I also use it to fetch my GPG key and import it automatically, which is why it's a dependency for my configuration. It expects a document called gpg keyin the Personal vault.

Installing

Prerequisites

As of today, only Fedora is supported (with the desktop flavor) and Arch Linux (with the window manager flavor). The installation process for both of them is similar:

Fedora (desktop)

FLAVOR=desktop chezmoi init --apply https://github.com/nezia1/dotfiles

Arch (window manager)

FLAVOR=wm chezmoi init --apply https://github.com/nezia1/dotfiles

Common software

Theme

I use catppuccin as my theme (the mocha variant). I love the soothing pastel colors. The GTK theme and the Qt5 theme are also configured to be used with supported applications.

Shell

I use fish as my interactive shell, but I still keep bash as my non-interactive shell for compatibility purposes, as some pieces of software that I use require the user to have a POSIX compliant shell. This is why I have a bash module, where I setup everything that I want to have non-interactively and interactively and if running interactively, have it start a fish session.

Window Manager configuration

This is my laptop configuration. I like using window managers as it optimizes my screen space, and the keybindings are extremely convenient when using a trackpad compared to using a mouse.

Software used

Hyprland is configured to use a random wallpaper from the $HOME/.dotfiles directory, so you need to have your wallpapers in it.

Services and timers

The user-services module contains different systemd daemons and timers that you might or might not need depending on your specific use-case:

  • sync: a systemd timer that synchronizes my org directory using rclone to a remote called drive (runs every 5 minutes)