- Flakes enabled
- Run the following command:
sudo nixos-rebuild switch --flake github:ecarlson94/dotnix/main#nixos-wsl
- Run the following command:
sudo nixos-rebuild switch --flake github:ecarlson94/dotnix/main#nixos-desktop
If you have the repo cloned locally at ~/gitrepos/dotnix
, you can rebuild with the following:
nh os switch
Configures a user for the NixOS using a dynamic user name that can be configured in nixosConfiguration
.
Configures a file explorer;
Configures gaming for NixOS. Includes steam, protonup, and heroic.
Bare bones installation of the Hyprland dynamic tiling Wayland compositor.
This is the starting point for configuring a UI for NixOS.
Configures a customizable boot splash screen called Plymouth.
Configures sound for NixOS.
Configures Home Manager to be managed by the system for the configured user.
Downside: Changes to home modules require full system rebuild.
Upside: ONE COMMAND TO RULE THEM ALL (nh os switch
).
Home Manager configuration
Contains toggleable modules for the following:
- btop - Resource monitor
- dircolors - Folder colors for ls (and dir, etc.)
- direnv - Auto change dev environment on changing directory
- fish - Shell
- git - Version control
- neovim - Neovim terminal text editor using nixvim
- tmux - Terminal multiplexer
The cli module will enable all of the above.
imports = [ ./modules/home ];
cli.enable = true;
Each module can be individually enabled as well.
imports = [ ./modules/home ];
cli.git.enable = true;
cli.fish.enable = true;
...
imports = [ ./modules/home ];
ui.enable = true;
Enables CLI and Apps by default.
Contains UI based app installations and configurations.
The following are also installed and configured:
- User settings for Hyprland
- Firefox - Browser
- kitty- Terminal emulator
- Slack - Teams communication
- Spotify - Music streaming client
- Teams for Linux - Teams communication
- Vesktop - Custom Discord client with Vencord preinstalled
imports = [ ./modules/home ];
ui.apps.enable = true;
Each module can be individually enabled as well.
imports = [ ./modules/home ];
ui.apps.firefox.enable = true;
ui.apps.kitty.enable = true;
...
Contains NixOS UI user configurations.
Requires Hyprland configuration first.
The following are also installed and configured:
- Grimblast screenshot utility
- Hyprlock lock screen
- Hypridle idle daemon
- Hyprpaper wallpaper utility and selector
- fuzzel app launcher
imports = [ ./modules/home ];
ui.nixos.enable = true; # Defaults to true
Each module can be individually enabled as well.
imports = [ ./modules/home ];
ui.nixos.hyprland.enable = true;
ui.nixos.fuzzel.enable = true;
...
- nekowinston for the nixppuccin wallpaper
- redyf for the bar and some Hyprland configuration
- sioodmy for their NixOS and Hyprland configuration and badges
- IogaMaster for the most beautiful catppuccin nix flake, some Hyprland config, and the badges
- This reddit post for helping me figure out the bare minimum to get Hyprland running
- AMD GPU minimum required config here