diff --git a/flake.nix b/flake.nix index f0d73fb..a1ff16a 100644 --- a/flake.nix +++ b/flake.nix @@ -50,8 +50,9 @@ in { nixosConfigurations = { - glasshouse-desktop = nixpkgs.lib.nixosSystem { + desktop = nixpkgs.lib.nixosSystem { specialArgs = { + host = "desktop"; inherit self inputs username; }; inherit system; @@ -61,8 +62,9 @@ ]; }; - glasshouse-laptop = nixpkgs.lib.nixosSystem { + laptop = nixpkgs.lib.nixosSystem { specialArgs = { + host = "laptop"; inherit self inputs username; }; modules = [ diff --git a/hosts/desktop/default.nix b/hosts/desktop/default.nix index 29bc159..68970cd 100644 --- a/hosts/desktop/default.nix +++ b/hosts/desktop/default.nix @@ -1,5 +1,5 @@ -{ pkgs, self, ... }: +{ host, inputs, username, nur, pkgs, self, ... }: { imports = [ diff --git a/hosts/laptop/default.nix b/hosts/laptop/default.nix index 4cddcaa..b2e5c47 100644 --- a/hosts/laptop/default.nix +++ b/hosts/laptop/default.nix @@ -1,9 +1,10 @@ -{ inputs, pkgs, config, self, username, ... }: +{ host, inputs, pkgs, config, self, username, ... }: { imports = [ ./../../modules/sys ./hardware.nix + (import ./nixswitch.nix { self = self; pkgs = pkgs; }) ]; environment.systemPackages = with pkgs; [ diff --git a/hosts/laptop/nixswitch.nix b/hosts/laptop/nixswitch.nix new file mode 100644 index 0000000..2c0efd3 --- /dev/null +++ b/hosts/laptop/nixswitch.nix @@ -0,0 +1,18 @@ +{ self, pkgs }: + + +pkgs.writeShellScriptBin "nixswitch" ('' +#!/run/current-system/sw/bin/bash + +scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav +builtin cd "$HOME/sysflakes" || exit + +nix flake update +sudo nixos-rebuild switch --flake "$HOME/sysflakes#glasshouse-desktop" +if [ $? -eq 0 ]; then + scheck && runbg aplay ${self}/media/sound/update.wav +else + scheck && runbg aplay ${self}/media/sound/error.wav +fi +builtin cd "$OLDPWD" || exit + '') diff --git a/modules/home/default.nix b/modules/home/default.nix deleted file mode 100644 index d334110..0000000 --- a/modules/home/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ nur, self, inputs, username, system, ... }: - - - - -{ - imports = - [ (import ./programs/btop.nix) ] - ++ [ (import ./programs/yazi.nix) ] - ++ [ (import ./programs/kitty.nix) ] - ++ [ (import ./programs/fuzzel.nix) ] - ++ [ (import ./programs/eza.nix) ] - ++ [ (import ./programs/cava.nix) ] - ++ [ (import ./programs/bat.nix) ] - ++ [ (import ./environment/gtk.nix) ] - ++ [ (import ./environment/spicetify.nix) ] - ++ [ (import ./environment/starship.nix) ] - ++ [ (import ./environment/userpkgs.nix) ] - ++ [ (import ./environment/zshell.nix) ] - ++ [ (import ./firefox/firefox.nix) ] - ++ [ (import ./hyprland) ] - ++ [ (import ./scripts) ] - ++ [ (import ./swaync/swaync.nix) ] - ++ [ (import ./waybar) ]; -} diff --git a/modules/home/desktop.nix b/modules/home/desktop.nix new file mode 100644 index 0000000..a240dcf --- /dev/null +++ b/modules/home/desktop.nix @@ -0,0 +1,25 @@ +{ host, nur, self, inputs, username, config, ... }: + + + + +{ + imports = + [ (import ./programs/btop.nix) ] + ++ [ (import ./programs/yazi.nix) ] + ++ [ (import ./programs/kitty.nix) ] + ++ [ (import ./programs/fuzzel.nix) ] + ++ [ (import ./programs/eza.nix) ] + ++ [ (import ./programs/cava.nix) ] + ++ [ (import ./programs/bat.nix) ] + ++ [ (import ./environment/gtk.nix) ] + ++ [ (import ./environment/spicetify.nix) ] + ++ [ (import ./environment/starship.nix) ] + ++ [ (import ./environment/desktop_userpkgs.nix) ] + ++ [ (import ./environment/zshell.nix) ] + ++ [ (import ./firefox/firefox.nix) ] + ++ [ (import ./hyprland) ] + ++ [ (import ./scripts ) ] + ++ [ (import ./swaync/swaync.nix) ] + ++ [ (import ./waybar) ]; +} diff --git a/modules/home/environment/userpkgs.nix b/modules/home/environment/desktop_userpkgs.nix similarity index 100% rename from modules/home/environment/userpkgs.nix rename to modules/home/environment/desktop_userpkgs.nix diff --git a/modules/home/environment/laptop_userpkgs.nix b/modules/home/environment/laptop_userpkgs.nix new file mode 100644 index 0000000..b16d21e --- /dev/null +++ b/modules/home/environment/laptop_userpkgs.nix @@ -0,0 +1,34 @@ +{ pkgs, inputs, ... }: +let + nvim = inputs.nvim.packages."x86_64-linux".default; + toilet = inputs.toilet.packages."x86_64-linux".default; +in +{ + home.packages = with pkgs; [ + gtk3 + uhk-agent + sqlite + starship + zathura + imagemagick + yt-dlp + vlc + speedtest-cli + vesktop + obs-studio + neovide + chromium + zsh + zsh-syntax-highlighting + zsh-history-substring-search + zsh-autosuggestions + rustup + libreoffice + handbrake + gtrash + ripgrep + nvim + toilet + python3 + ]; +} diff --git a/modules/home/laptop.nix b/modules/home/laptop.nix new file mode 100644 index 0000000..529cd29 --- /dev/null +++ b/modules/home/laptop.nix @@ -0,0 +1,25 @@ +{ host, nur, self, inputs, username, config, ... }: + + + + +{ + imports = + [ (import ./programs/btop.nix) ] + ++ [ (import ./programs/yazi.nix) ] + ++ [ (import ./programs/kitty.nix) ] + ++ [ (import ./programs/fuzzel.nix) ] + ++ [ (import ./programs/eza.nix) ] + ++ [ (import ./programs/cava.nix) ] + ++ [ (import ./programs/bat.nix) ] + ++ [ (import ./environment/gtk.nix) ] + ++ [ (import ./environment/spicetify.nix) ] + ++ [ (import ./environment/starship.nix) ] + ++ [ (import ./environment/laptop_userpkgs.nix) ] + ++ [ (import ./environment/zshell.nix) ] + ++ [ (import ./firefox/firefox.nix) ] + ++ [ (import ./hyprland) ] + ++ [ (import ./scripts ) ] + ++ [ (import ./swaync/swaync.nix) ] + ++ [ (import ./waybar) ]; +} diff --git a/modules/home/scripts/default.nix b/modules/home/scripts/default.nix index 1d4ff99..fdfa4ae 100644 --- a/modules/home/scripts/default.nix +++ b/modules/home/scripts/default.nix @@ -1,4 +1,4 @@ -{ self, pkgs, ... }: +{ host, self, pkgs, ... }: let compress = (import ./commands/compress.nix { self = self; pkgs = pkgs;}); @@ -13,10 +13,8 @@ let homep = (import ./nix/homep.nix { self = self; pkgs = pkgs;}); homer = (import ./nix/homer.nix { self = self; pkgs = pkgs;}); nsp = (import ./nix/nsp.nix { self = self; pkgs = pkgs;}); - nixswitch = (import ./nix/nixswitch.nix { self = self; pkgs = pkgs;}); nixr = (import ./nix/nixr.nix { self = self; pkgs = pkgs;}); nixp = (import ./nix/nixp.nix { self = self; pkgs = pkgs;}); - nixcommit = (import ./nix/nixcommit.nix { self = self; pkgs = pkgs;}); lofi = (import ./wm-controls/lofi.nix { self = self; pkgs = pkgs;}); music = (import ./wm-controls/music.nix { self = self; pkgs = pkgs;}); shutdown-script = (import ./wm-controls/shutdown-script.nix { self = self; pkgs = pkgs;}); @@ -25,6 +23,8 @@ let toggle_float = (import ./wm-controls/toggle_float.nix { self = self; pkgs = pkgs;}); toggle_oppacity = (import ./wm-controls/toggle_oppacity.nix { self = self; pkgs = pkgs;}); toggle_waybar = (import ./wm-controls/toggle_waybar.nix { self = self; pkgs = pkgs;}); + nixswitch = (import ./nix/nixswitch.nix { host = host; self = self; pkgs = pkgs;}); + nixcommit = (import ./nix/nixcommit.nix { host = host; self = self; pkgs = pkgs;}); in { home.packages = [ diff --git a/modules/home/scripts/nix/nixcommit.nix b/modules/home/scripts/nix/nixcommit.nix index cb6b875..05b3398 100644 --- a/modules/home/scripts/nix/nixcommit.nix +++ b/modules/home/scripts/nix/nixcommit.nix @@ -1,4 +1,4 @@ -{ self, pkgs }: +{ self, pkgs, host}: pkgs.writeShellScriptBin "nixcommit" ('' @@ -22,7 +22,7 @@ if [ -n "$diffcheck" ]; then exit fi git add . -git commit -m "Gen $gen: $1" +git commit -m "(${host}) Gen $gen: $1" git push scheck && runbg aplay ${self}/media/sound/gitpush.wav builtin cd - || exit diff --git a/modules/home/scripts/nix/nixswitch.nix b/modules/home/scripts/nix/nixswitch.nix index 2c0efd3..8905cf7 100644 --- a/modules/home/scripts/nix/nixswitch.nix +++ b/modules/home/scripts/nix/nixswitch.nix @@ -1,4 +1,4 @@ -{ self, pkgs }: +{ host, self, pkgs }: pkgs.writeShellScriptBin "nixswitch" ('' @@ -8,11 +8,11 @@ scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav builtin cd "$HOME/sysflakes" || exit nix flake update -sudo nixos-rebuild switch --flake "$HOME/sysflakes#glasshouse-desktop" +sudo nixos-rebuild switch --flake "$HOME/sysflakes#${host}" if [ $? -eq 0 ]; then scheck && runbg aplay ${self}/media/sound/update.wav else scheck && runbg aplay ${self}/media/sound/error.wav fi builtin cd "$OLDPWD" || exit - '') +'') diff --git a/modules/sys/default.nix b/modules/sys/default.nix index 2464ea4..d2dd01e 100644 --- a/modules/sys/default.nix +++ b/modules/sys/default.nix @@ -1,4 +1,4 @@ -{ inputs, nixpkgs, config, self, username, ... }: +{ inputs, nixpkgs, config, self, username, host, ... }: { imports = diff --git a/modules/sys/software/users.nix b/modules/sys/software/users.nix index df40c4a..c7c2995 100644 --- a/modules/sys/software/users.nix +++ b/modules/sys/software/users.nix @@ -1,4 +1,4 @@ -{ config, inputs, pkgs, username, self, ... }: +{ config, inputs, pkgs, username, self, host, ... }: let nur = config.nur; @@ -9,10 +9,13 @@ in useUserPackages = true; useGlobalPkgs = true; backupFileExtension = "backup"; - extraSpecialArgs = { inherit self inputs username nur; }; + extraSpecialArgs = { inherit self inputs host username nur; }; users.${username} = { programs.home-manager.enable = true; - imports = [ ./../../home ]; + imports = + if (host == "desktop") then + [ ./../../home/desktop.nix ] + else [./../../home/laptop.nix ]; home = { username = "${username}"; homeDirectory = "/home/${username}";