Skip to content

ecarlson94/dotnix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Kiri's NixOS Flake

Hosts

Prequisites

Installing

  1. Run the following command:
    sudo nixos-rebuild switch --flake github:ecarlson94/dotnix/main#nixos-wsl

Installing

  1. Run the following command:
    sudo nixos-rebuild switch --flake github:ecarlson94/dotnix/main#nixos-desktop

Rebuilding

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.

NixOS Modules

GUI

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

CLI

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
  • git - Version control
  • neovim - Neovim terminal text editor using nixvim
  • tmux - Terminal multiplexer
  • fish - Shell

The cli module will enable all of the above.

imports = [ ./modules/home ];

modules.cli.enable = true;

Each module can be individually enabled as well.

imports = [ ./modules/home ];

modules.cli.git.enable = true;
modules.cli.fish.enable = true;
...

GUI

imports = [ ./modules/home ];

modules.gui.enable = true;

Enables CLI and Apps by default.

Apps

Contains GUI based app installations and configurations.

The following are also installed and configured:

imports = [ ./modules/home ];

modules.gui.apps.enable = true;

Each module can be individually enabled as well.

imports = [ ./modules/home ];

modules.gui.apps.firefox.enable = true;
modules.gui.apps.kitty.enable = true;
...

NixOS

Contains NixOS GUI user configurations.

Requires Hyprland configuration first.

The following are also installed and configured:

imports = [ ./modules/home ];

modules.gui.nixos.enable = true; # Defaults to true

Each module can be individually enabled as well.

imports = [ ./modules/home ];

modules.gui.nixos.hyprland.enable = true;
modules.gui.nixos.fuzzel.enable = true;
...

Special Thanks

  • 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

About

NixOS, HomeManager, and Nixvim Configurations

Resources

License

Stars

Watchers

Forks

Languages