diff --git a/flake.nix b/flake.nix index 4b8798a5..0a45d9e2 100644 --- a/flake.nix +++ b/flake.nix @@ -66,6 +66,7 @@ specialArgs = { inherit home-manager; inherit nurpkgs; secrets = import ./secrets/default.nix; }; modules = [ ./configuration.nix + ./modules ./machines/${name} (import ./helpers/set-hostname.nix name) (self.overlaysModule system) diff --git a/helpers/gui/sway.nix b/helpers/gui/sway.nix deleted file mode 100644 index 79602d00..00000000 --- a/helpers/gui/sway.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ pkgs, lib, ... }: - -# docs: https://nixos.wiki/wiki/Sway -{ - programs.sway = { - # we configure sway with home-manager, but this enable gets us e.g. opengl and fonts - enable = true; - }; - - # TODO: should be able to use SDDM to get interactive login - services.greetd = { - enable = true; - settings = rec { - initial_session = { - command = "${pkgs.sway}/bin/sway"; - user = "colin"; - }; - default_session = initial_session; - }; - }; - - # unlike other DEs, sway configures no audio stack - # administer with pw-cli, pw-mon, pw-top commands - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; # ?? - pulse.enable = true; - }; - - networking.useDHCP = false; - networking.networkmanager.enable = true; - networking.wireless.enable = lib.mkForce false; -} - diff --git a/machines/desko/default.nix b/machines/desko/default.nix index 64039597..1bd960d8 100644 --- a/machines/desko/default.nix +++ b/machines/desko/default.nix @@ -5,7 +5,6 @@ ./../../helpers/hardware-x86_64.nix # ./../../helpers/gui/gnome.nix #./../../helpers/gui/i3.nix - ./../../helpers/gui/sway.nix ./fs.nix ]; @@ -20,6 +19,8 @@ ]; }; + colinsane.gui.sway.enable = true; + # docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion system.stateVersion = "21.05"; } diff --git a/machines/lappy/default.nix b/machines/lappy/default.nix index 9245c38f..d947b21b 100644 --- a/machines/lappy/default.nix +++ b/machines/lappy/default.nix @@ -4,7 +4,6 @@ ./../../helpers/universal ./../../helpers/hardware-x86_64.nix # ./../../helpers/gui/gnome.nix - ./../../helpers/gui/sway.nix ./fs.nix ]; @@ -15,6 +14,8 @@ gui = "sway"; }; + colinsane.gui.sway.enable = true; + # docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion system.stateVersion = "21.05"; } diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 00000000..2e485de1 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./gui + ]; +} diff --git a/modules/gui/default.nix b/modules/gui/default.nix new file mode 100644 index 00000000..0af1997f --- /dev/null +++ b/modules/gui/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./sway.nix + ]; +} diff --git a/modules/gui/sway.nix b/modules/gui/sway.nix new file mode 100644 index 00000000..4e51c030 --- /dev/null +++ b/modules/gui/sway.nix @@ -0,0 +1,47 @@ +{ pkgs, lib, config, ... }: + +# docs: https://nixos.wiki/wiki/Sway +with lib; +let + cfg = config.colinsane.gui.sway; +in +{ + options = { + colinsane.gui.sway.enable = mkOption { + default = false; + type = types.bool; + }; + }; + config = mkIf cfg.enable { + programs.sway = { + # we configure sway with home-manager, but this enable gets us e.g. opengl and fonts + enable = true; + }; + + # TODO: should be able to use SDDM to get interactive login + services.greetd = { + enable = true; + settings = rec { + initial_session = { + command = "${pkgs.sway}/bin/sway"; + user = "colin"; + }; + default_session = initial_session; + }; + }; + + # unlike other DEs, sway configures no audio stack + # administer with pw-cli, pw-mon, pw-top commands + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; # ?? + pulse.enable = true; + }; + + networking.useDHCP = false; + networking.networkmanager.enable = true; + networking.wireless.enable = lib.mkForce false; + }; +} +