summaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
authorseth <[email protected]>2023-02-18 05:13:27 -0500
committerseth <[email protected]>2023-02-18 05:13:27 -0500
commit1d7b04a71c7222153ffa9cd48f73b51ea72204d1 (patch)
tree3d794209be0e2311dc76337c09c2cb39c52f6afb /hosts
parent8a8059d9889afcbcd8a133b0b186e3a97ce7ac23 (diff)
major refactor
- `mkHost` now accepts an optional `specialArgs` argument to be passed to `nixosSystem()` - the `modules` argument for `mkHMUser` is now optional
Diffstat (limited to 'hosts')
-rw-r--r--hosts/common/default.nix1
-rw-r--r--hosts/common/desktop/default.nix20
-rw-r--r--hosts/common/desktop/gnome.nix43
-rw-r--r--hosts/common/desktop/plasma.nix33
-rw-r--r--hosts/common/fonts.nix50
-rw-r--r--hosts/common/options.nix19
-rw-r--r--hosts/common/packages.nix20
-rw-r--r--hosts/common/security.nix10
-rw-r--r--hosts/glados-wsl/default.nix2
-rw-r--r--hosts/glados/default.nix5
10 files changed, 79 insertions, 124 deletions
diff --git a/hosts/common/default.nix b/hosts/common/default.nix
index a631731..9544b42 100644
--- a/hosts/common/default.nix
+++ b/hosts/common/default.nix
@@ -4,7 +4,6 @@ _: {
./desktop
./fonts.nix
./locale.nix
- ./options.nix
./packages.nix
./security.nix
./systemd.nix
diff --git a/hosts/common/desktop/default.nix b/hosts/common/desktop/default.nix
index d6d42a6..3f6aba7 100644
--- a/hosts/common/desktop/default.nix
+++ b/hosts/common/desktop/default.nix
@@ -1,14 +1,22 @@
{
- config,
lib,
+ desktop,
...
}: let
- gui = config.sys.gui.enable;
+ gui = desktop != "";
in {
- imports = [
- ./gnome.nix
- ./plasma.nix
- ];
+ imports =
+ []
+ ++ (
+ if (desktop == "gnome")
+ then [./gnome.nix]
+ else []
+ )
+ ++ (
+ if (desktop == "plasma")
+ then [./plasma.nix]
+ else []
+ );
environment.noXlibs = lib.mkForce false;
programs.xwayland.enable = gui;
diff --git a/hosts/common/desktop/gnome.nix b/hosts/common/desktop/gnome.nix
index af4a0d0..e3f8b21 100644
--- a/hosts/common/desktop/gnome.nix
+++ b/hosts/common/desktop/gnome.nix
@@ -1,30 +1,17 @@
-{
- config,
- pkgs,
- ...
-}: let
- environmentConfig =
- if config.sys.desktop == "gnome"
- then {
- gnome.excludePackages = with pkgs; [
- epiphany
- gnome-tour
- ];
- systemPackages = with pkgs; [
- adw-gtk3
- blackbox-terminal
- ];
- }
- else {};
+{pkgs, ...}: {
+ environment = {
+ gnome.excludePackages = with pkgs; [
+ epiphany
+ gnome-tour
+ ];
+ systemPackages = with pkgs; [
+ adw-gtk3
+ blackbox-terminal
+ ];
+ };
- xserverConfig =
- if config.sys.desktop == "gnome"
- then {
- displayManager.gdm.enable = true;
- desktopManager.gnome.enable = true;
- }
- else {};
-in {
- environment = environmentConfig;
- services.xserver = xserverConfig;
+ services.xserver = {
+ displayManager.gdm.enable = true;
+ desktopManager.gnome.enable = true;
+ };
}
diff --git a/hosts/common/desktop/plasma.nix b/hosts/common/desktop/plasma.nix
index 98eee0b..80514fd 100644
--- a/hosts/common/desktop/plasma.nix
+++ b/hosts/common/desktop/plasma.nix
@@ -1,22 +1,13 @@
-{
- config,
- pkgs,
- ...
-}: let
- xserverConfig =
- if config.sys.desktop == "plasma"
- then {
- displayManager.sddm.enable = true;
- desktopManager.plasma5 = {
- enable = true;
- excludePackages = with pkgs.libsForQt5; [
- khelpcenter
- plasma-browser-integration
- print-manager
- ];
- };
- }
- else {};
-in {
- services.xserver = xserverConfig;
+{pkgs, ...}: {
+ services.xserver = {
+ displayManager.sddm.enable = true;
+ desktopManager.plasma5 = {
+ enable = true;
+ excludePackages = with pkgs.libsForQt5; [
+ khelpcenter
+ plasma-browser-integration
+ print-manager
+ ];
+ };
+ };
}
diff --git a/hosts/common/fonts.nix b/hosts/common/fonts.nix
index c49f99c..78993cf 100644
--- a/hosts/common/fonts.nix
+++ b/hosts/common/fonts.nix
@@ -1,34 +1,32 @@
{
- config,
pkgs,
+ desktop,
...
}: let
- guiFonts =
- if config.sys.gui.enable
- then
- with pkgs; [
- noto-fonts
- noto-fonts-extra
- noto-fonts-emoji
- noto-fonts-cjk-sans
- fira-code
- (nerdfonts.override {fonts = ["FiraCode"];})
- ]
- else [];
-
- guiDefaultFonts =
- if config.sys.gui.enable
- then {
- serif = ["Noto Serif"];
- sansSerif = ["Noto Sans"];
- emoji = ["Noto Color Emoji"];
- monospace = ["Fira Code"];
- }
- else {};
+ gui = desktop != "";
in {
fonts = {
- enableDefaultFonts = true;
- fonts = guiFonts;
- fontconfig.defaultFonts = guiDefaultFonts;
+ enableDefaultFonts = gui;
+ fonts =
+ if gui
+ then
+ with pkgs; [
+ noto-fonts
+ noto-fonts-extra
+ noto-fonts-emoji
+ noto-fonts-cjk-sans
+ fira-code
+ (nerdfonts.override {fonts = ["FiraCode"];})
+ ]
+ else [];
+ fontconfig.defaultFonts =
+ if gui
+ then {
+ serif = ["Noto Serif"];
+ sansSerif = ["Noto Sans"];
+ emoji = ["Noto Color Emoji"];
+ monospace = ["Fira Code"];
+ }
+ else {};
};
}
diff --git a/hosts/common/options.nix b/hosts/common/options.nix
deleted file mode 100644
index c36d4e2..0000000
--- a/hosts/common/options.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{lib, ...}: {
- options.sys = with lib; {
- gui.enable = mkOption {
- type = types.bool;
- default = false;
- description = "install gui-related packages";
- };
- wsl.enable = mkOption {
- type = types.bool;
- default = false;
- description = "signifies that the flake is being installed in wsl";
- };
- desktop = mkOption {
- type = types.str;
- default = "";
- description = "set the desktop";
- };
- };
-}
diff --git a/hosts/common/packages.nix b/hosts/common/packages.nix
index a2f5c15..174e984 100644
--- a/hosts/common/packages.nix
+++ b/hosts/common/packages.nix
@@ -1,15 +1,11 @@
{
- config,
pkgs,
+ desktop,
...
}: let
- extraPkgs =
- if config.sys.gui.enable
- then with pkgs; [firefox]
- else [];
-
+ gui = desktop != "";
pinentry =
- if config.sys.desktop == "gnome"
+ if desktop == "gnome"
then pkgs.pinentry-gnome
else pkgs.pinentry-curses;
in {
@@ -17,10 +13,14 @@ in {
[
git
neofetch
- python310
+ python311
vim
]
- ++ extraPkgs
+ ++ (
+ if gui
+ then with pkgs; [firefox]
+ else []
+ )
++ [pinentry];
programs = {
@@ -28,7 +28,7 @@ in {
agent = {
enable = true;
pinentryFlavor =
- if config.sys.desktop == "gnome"
+ if desktop == "gnome"
then "gnome3"
else "curses";
};
diff --git a/hosts/common/security.nix b/hosts/common/security.nix
index 04ae595..ed9be36 100644
--- a/hosts/common/security.nix
+++ b/hosts/common/security.nix
@@ -1,10 +1,8 @@
-{config, ...}: let
- value = config.sys.wsl.enable;
-in {
+{wsl, ...}: {
security = {
- apparmor.enable = value;
- audit.enable = value;
- auditd.enable = value;
+ apparmor.enable = !wsl;
+ audit.enable = !wsl;
+ auditd.enable = !wsl;
rtkit.enable = true;
sudo = {
configFile = ''
diff --git a/hosts/glados-wsl/default.nix b/hosts/glados-wsl/default.nix
index b9057cf..d8e9ccb 100644
--- a/hosts/glados-wsl/default.nix
+++ b/hosts/glados-wsl/default.nix
@@ -2,6 +2,4 @@
imports = [
(modulesPath + "/profiles/minimal.nix")
];
-
- sys.wsl.enable = true;
}
diff --git a/hosts/glados/default.nix b/hosts/glados/default.nix
index 3e42bf9..7e5c5be 100644
--- a/hosts/glados/default.nix
+++ b/hosts/glados/default.nix
@@ -6,9 +6,4 @@ _: {
./network.nix
./services.nix
];
-
- sys = {
- gui.enable = true;
- desktop = "gnome";
- };
}