diff --git a/flake.nix b/flake.nix index 9981d02..5d18e60 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { - description = "Autumn's laptop config"; + description = "Autumn's multi-system configs"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; @@ -11,30 +11,45 @@ outputs = { self, nixpkgs, home-manager }@inputs: let - username = "autumn"; system = "x86_64-linux"; timezone = "America/Denver"; locale = "en_US.UTF-8"; - - in { - - homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.${system}; - extraSpecialArgs = {inherit inputs;}; - modules = [ ./home-manager/autumn/home.nix ]; - + specialArgs = { + inherit inputs; + inherit system; + inherit timezone; + inherit locale; }; - + in { + + homeConfigurations.ruby= home-manager.lib.homeManagerConfiguration { + extraSpecialArgs = specialArgs; + pkgs = nixpkgs.legacyPackages.${system}; + modules = [ + # ./home-manager/${user}/home.nix + ./home-manager/ruby/home.nix + ]; + }; + + nixosConfigurations."yukigekko" = nixpkgs.lib.nixosSystem{ - specialArgs = { - inherit inputs; - inherit system; - inherit username; - inherit timezone; - inherit locale; - }; + specialArgs = specialArgs; modules = [ - ./system/nixos/configuration.nix + ./system/yukigekko/configuration.nix + # home-manager.nixosModules.home-manager{ + # home-manager = { + # useGlobalPkgs = true; + # useUserPackages = true; + # extraSpecialArgs = specialArgs; + # users.${user} = { + # # pkgs = nixpkgs.legacyPackages.${system}; + # imports = [ + # #./home-manager/${user}/home.nix + # ./home-manager/autumn/yukigekko-home.nix + # ]; + # }; + # }; + # } ]; }; }; diff --git a/home-manager/autumn/home.nix b/home-manager/autumn/home.nix index 54d9472..8196804 100644 --- a/home-manager/autumn/home.nix +++ b/home-manager/autumn/home.nix @@ -1,14 +1,15 @@ -{ config, lib, pkgs, ... }: +{ config, pkgs, ... }: { # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "autumn"; home.homeDirectory = "/home/autumn"; + home.stateVersion = "25.05"; # Please read the comment before changing. + programs.home-manager.enable = true; - home.stateVersion = "25.05"; # Please read the comment before changing. nixpkgs.config = { alowUnfree = true; @@ -45,7 +46,7 @@ fish "; - wayland.windowManager.river.enable = true; +# wayland.windowManager.river.enable = true; home.sessionVariables = { @@ -55,11 +56,11 @@ imports = [ ../packages/fish/fish.nix - ../packages/river/river.nix +# ../packages/river/river.nix ../packages/alacritty/alacritty.nix ../packages/helix/helix.nix ../packages/fuzzel/fuzzel.nix - ../packages/waybar/waybar.nix +# ../packages/waybar/waybar.nix ../packages/git/git.nix ../packages/starship/starship.nix ]; diff --git a/home-manager/autumn/yukigekko-home.nix b/home-manager/autumn/yukigekko-home.nix new file mode 100644 index 0000000..b4292e2 --- /dev/null +++ b/home-manager/autumn/yukigekko-home.nix @@ -0,0 +1,67 @@ +{ config, pkgs, ... }: + +{ + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "autumn"; + home.homeDirectory = "/home/autumn"; + home.stateVersion = "25.05"; # Please read the comment before changing. + + + programs.home-manager.enable = true; + + + nixpkgs.config = { + alowUnfree = true; + allowUnfreePredicate = (_: true); + }; + + home.packages = with pkgs; [ + neofetch + vscodium-fhs + nerd-fonts.hack + vesktop + obsidian + ccls + docker-language-server + nil + ty + rustc + rustup + htop + gnumake + python314Full + eza + gleam + ruff + ruby + vscode-extensions.castwide.solargraph + nim-2_0 + nimlangserver + ]; + programs.htop.enable = true; + programs.starship.enable = true; + programs.bash.initExtra = " + fish + "; + + wayland.windowManager.river.enable = true; + + + home.sessionVariables = { + EDITOR = "helix"; + TERM = "alacritty"; + }; + + imports = [ + ../packages/fish/fish.nix + ../packages/river/river.nix + ../packages/alacritty/alacritty.nix + ../packages/helix/helix.nix + ../packages/fuzzel/fuzzel.nix + ../packages/waybar/waybar.nix + ../packages/git/git.nix + ../packages/starship/starship.nix + ]; + +} diff --git a/home-manager/packages/fish/fish.nix b/home-manager/packages/fish/fish.nix index d8f0eb3..45d2923 100644 --- a/home-manager/packages/fish/fish.nix +++ b/home-manager/packages/fish/fish.nix @@ -4,10 +4,14 @@ home.packages = with pkgs; [ fish + oh-my-fish ]; programs.fish = { enable = true; + interactiveShellInit = '' + set fish_greeting "" + ''; shellAliases = { ".." = "cd .."; "..." = "cd ../.."; diff --git a/home-manager/packages/waybar/waybar.nix b/home-manager/packages/waybar/waybar.nix index 5506144..55b87ed 100644 --- a/home-manager/packages/waybar/waybar.nix +++ b/home-manager/packages/waybar/waybar.nix @@ -15,8 +15,12 @@ position = "top"; height = 30; spacing = 4; - + # Module layout + # + modules-center = [ + "river/window" + ]; modules-right = [ "pulseaudio" "network#wifi" diff --git a/home-manager/ruby/home.nix b/home-manager/ruby/home.nix new file mode 100644 index 0000000..1dfbcd0 --- /dev/null +++ b/home-manager/ruby/home.nix @@ -0,0 +1,64 @@ +{ config, pkgs, ... }: + +{ + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "ruby"; + home.homeDirectory = "/home/ruby"; + home.stateVersion = "25.05"; # Please read the comment before changing. + + + programs.home-manager.enable = true; + + + nixpkgs.config = { + alowUnfree = true; + allowUnfreePredicate = (_: true); + }; + + home.packages = with pkgs; [ + neofetch + vscodium-fhs + nerd-fonts.hack + vesktop + obsidian + ccls + docker-language-server + nil + ty + rustc + rustup + htop + gnumake + python314Full + eza + gleam + ruff + ruby + vscode-extensions.castwide.solargraph + nim-2_0 + nimlangserver + ]; + programs.htop.enable = true; + programs.starship.enable = true; + + wayland.windowManager.river.enable = true; + + + home.sessionVariables = { + EDITOR = "helix"; + TERM = "alacritty"; + }; + + imports = [ + ../packages/fish/fish.nix + ../packages/river/river.nix + ../packages/alacritty/alacritty.nix + ../packages/helix/helix.nix + ../packages/fuzzel/fuzzel.nix + ../packages/waybar/waybar.nix + ../packages/git/git.nix + ../packages/starship/starship.nix + ]; + +} diff --git a/system/nixos/configuration.nix b/system/yukigekko/configuration.nix similarity index 98% rename from system/nixos/configuration.nix rename to system/yukigekko/configuration.nix index 2fa5371..509649f 100644 --- a/system/nixos/configuration.nix +++ b/system/yukigekko/configuration.nix @@ -69,9 +69,9 @@ # services.xserver.libinput.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.autumn = { + users.users.ruby= { isNormalUser = true; - description = "Autumn"; + description = "Ruby"; extraGroups = [ "networkmanager" "wheel" ]; }; diff --git a/system/nixos/flake.nix b/system/yukigekko/flake.nix similarity index 100% rename from system/nixos/flake.nix rename to system/yukigekko/flake.nix diff --git a/system/nixos/hardware-configuration.nix b/system/yukigekko/hardware-configuration.nix similarity index 100% rename from system/nixos/hardware-configuration.nix rename to system/yukigekko/hardware-configuration.nix