aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-08-17 20:48:18 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-08-17 20:48:18 -0500
commit2b1c6161c5d2381cbfe224694dfb218aee0b6da1 (patch)
treee51c7bd694d5ad27fb9e68e51f11aae4e8c57fcc /modules
parente29dd8a2283399b7e046937340509d5aec4b52ba (diff)
something is seriously broken rn
Diffstat (limited to 'modules')
-rw-r--r--modules/desktop/hjem/programs/foot.nix5
-rw-r--r--modules/desktop/nixos/gnome.nix30
-rw-r--r--modules/desktop/nixos/greeters/gdm.nix5
-rw-r--r--modules/desktop/nixos/programs/firefox.nix25
-rw-r--r--modules/desktop/nixos/qt.nix7
-rw-r--r--modules/networking/nixos/default.nix22
-rw-r--r--modules/networking/nixos/iwd.nix23
-rw-r--r--modules/networking/nixos/networkd.nix44
-rw-r--r--modules/networking/nixos/resolved.nix24
-rw-r--r--modules/networking/nixos/unbound.nix30
-rw-r--r--modules/networking/nixos/wpasupplicant.nix15
-rw-r--r--modules/networking/options.nix58
-rw-r--r--modules/system/nixos/boot.nix2
-rw-r--r--modules/system/options.nix10
-rw-r--r--modules/user/nixos/default.nix5
15 files changed, 36 insertions, 269 deletions
diff --git a/modules/desktop/hjem/programs/foot.nix b/modules/desktop/hjem/programs/foot.nix
index 74bb8a6..988ee94 100644
--- a/modules/desktop/hjem/programs/foot.nix
+++ b/modules/desktop/hjem/programs/foot.nix
@@ -9,10 +9,11 @@
settings = {
main = {
font = "Iosevka Nerd Font:size=12";
- shell = "fish -c '${pkgs.broot}/bin/broot'";
+ # shell = "fish -c '${pkgs.broot}/bin/broot'";
+ shell = lib.getExe pkgs.fish;
};
- # key-bindings.spawn-terminal = "Control+Return";
+ key-bindings.spawn-terminal = "Control+Return";
colors-dark = with config.collinux.palette; {
alpha = "0.85";
diff --git a/modules/desktop/nixos/gnome.nix b/modules/desktop/nixos/gnome.nix
index 335815a..8736991 100644
--- a/modules/desktop/nixos/gnome.nix
+++ b/modules/desktop/nixos/gnome.nix
@@ -5,18 +5,21 @@
...
}: let
cfg = config.collinux.desktop.gnome;
+
+ shellExtensions = with pkgs.gnomeExtensions; [blur-my-shell dash-to-dock];
in
lib.mkIf cfg.enable {
- services.desktopManager.gnome.enable = true;
-
- services.gnome.gcr-ssh-agent.enable = false; # conflicts with normal ssh-agent
+ services = {
+ desktopManager.gnome.enable = true;
+ gnome.gcr-ssh-agent.enable = false; # conflicts with normal ssh-agent
+ };
environment.gnome.excludePackages = with pkgs; [
orca
evince
# file-roller
geary
- # gnome-disk-utility
+ gnome-disk-utility
seahorse
# sushi
# sysprof
@@ -33,23 +36,23 @@ in
# glib # for gsettings program
# gnome-menus
# gtk3.out # for gtk-launch program
- # xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
- # xdg-user-dirs-gtk # Used to create the default bookmarks
- #
+ xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
+ xdg-user-dirs-gtk # Used to create the default bookmarks
+
baobab
epiphany
gnome-text-editor
gnome-calculator
gnome-calendar
gnome-characters
- # gnome-clocks
+ gnome-clocks
gnome-console
gnome-contacts
gnome-font-viewer
gnome-logs
gnome-maps
gnome-music
- # gnome-system-monitor
+ gnome-system-monitor
gnome-weather
# loupe
# nautilus
@@ -61,7 +64,7 @@ in
gnome-software
];
- hjem.users."${config.collinux.user.name}".packages = with pkgs.gnomeExtensions; [blur-my-shell dash-to-dock] ++ [pkgs.wl-clipboard];
+ environment.systemPackages = shellExtensions ++ [pkgs.wl-clipboard];
programs.dconf = {
enable = true;
@@ -103,17 +106,14 @@ in
# Background
"org/gnome/desktop/background" = rec {
- picture-uri = "file://${pkgs.gnome-backgrounds}/share/backgrounds/gnome/blobs-d.svg";
+ picture-uri = "file://${config.collinux.desktop.wallpaper}";
picture-uri-dark = picture-uri;
};
# Extensions
"org/gnome/shell" = {
disable-user-extensions = false;
- enabled-extensions = with pkgs.gnomeExtensions; [
- blur-my-shell.extensionUuid
- dash-to-dock.extensionUuid
- ];
+ enabled-extensions = shellExtensions |> map (x: x.extensionUuid);
};
"org/gnome/shell/extensions/dash-to-dock" = {
diff --git a/modules/desktop/nixos/greeters/gdm.nix b/modules/desktop/nixos/greeters/gdm.nix
index 598114a..fae4eba 100644
--- a/modules/desktop/nixos/greeters/gdm.nix
+++ b/modules/desktop/nixos/greeters/gdm.nix
@@ -6,8 +6,5 @@
cfg = config.collinux.desktop.gdm;
in
lib.mkIf cfg.enable {
- services.displayManager.gdm = {
- enable = true;
- wayland = true;
- };
+ services.displayManager.gdm.enable = true;
}
diff --git a/modules/desktop/nixos/programs/firefox.nix b/modules/desktop/nixos/programs/firefox.nix
index 8267857..30a74b4 100644
--- a/modules/desktop/nixos/programs/firefox.nix
+++ b/modules/desktop/nixos/programs/firefox.nix
@@ -24,21 +24,20 @@ in
OverridePostUpdatePage = "";
SearchEngines.Default = "DuckDuckGo";
- Homepage = {
- URL = "https://home.ganymede";
- Locked = true;
- StartPage = "homepage-locked";
- };
+ # Homepage = {
+ # URL = "https://home.ganymede";
+ # Locked = true;
+ # StartPage = "homepage-locked";
+ # };
- AIControls = {
- Default = {
- Value = "blocked";
- Locked = true;
- };
- Translations = {
- Value = "available";
+ AIControls = let
+ opt = Value: {
+ inherit Value;
Locked = true;
};
+ in {
+ Default = opt "blocked";
+ Translations = opt "available";
};
Preferences = let
@@ -54,7 +53,7 @@ in
"browser.theme.content-theme" = opt 0;
"browser.theme.toolbar-theme" = opt 0;
- "browser.display.background_color.dark" = opt "${config.collinux.palette.base00}";
+ "browser.display.background_color.dark" = opt config.collinux.palette.base00;
"browser.tabs.loadBookmarksInTabs" = opt true;
"browser.toolbars.bookmarks.visibility" = opt "never";
diff --git a/modules/desktop/nixos/qt.nix b/modules/desktop/nixos/qt.nix
index 5f5c630..712c0af 100644
--- a/modules/desktop/nixos/qt.nix
+++ b/modules/desktop/nixos/qt.nix
@@ -39,13 +39,6 @@ in
KVANTUM_THEME = "catppuccin-mocha-blue";
};
- systemd.user.extraConfig = lib.optionalString isCatppuccin ''
- DefaultEnvironment=KVANTUM_THEME=catppuccin-mocha-blue
- DefaultEnvironment=QT_STYLE_OVERRIDE=kvantum
- DefaultEnvironment=QT_QPA_PLATFORMTHEME=kde
- DefaultEnvironment=KDE_COLOR_SCHEME=CatppuccinMochaBlue
- '';
-
systemd.user.services.plasma-xdg-desktop-portal-kde = lib.mkIf isCatppuccin {
overrideStrategy = "asDropin";
serviceConfig.Environment = [
diff --git a/modules/networking/nixos/default.nix b/modules/networking/nixos/default.nix
deleted file mode 100644
index f869670..0000000
--- a/modules/networking/nixos/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- imports = [
- ./resolved.nix
- ./unbound.nix
- ./networkd.nix
- ./iwd.nix
- ./wpasupplicant.nix
- ];
-
- networking = {
- firewall = {
- enable = true;
- checkReversePath = "loose";
- };
-
- # Disable default networking stuff
- resolvconf.enable = false;
- dhcpcd.enable = false;
- useDHCP = false;
- networkmanager.enable = false;
- };
-}
diff --git a/modules/networking/nixos/iwd.nix b/modules/networking/nixos/iwd.nix
deleted file mode 100644
index 0c5bdfa..0000000
--- a/modules/networking/nixos/iwd.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- lib,
- config,
- ...
-}: let
- cfg = config.collinux.system.network;
- enabled = cfg.wireless.dynamic;
-in
- lib.mkIf enabled {
- networking = {
- wireless.iwd = {
- enable = true;
- settings = {
- General = {
- EnableNetworkConfiguration = false; # always let networkd handle this
- AddressRandomization = "once";
- AddressRandomizationRange = "full";
- };
- Network.NameResolvingService = "systemd"; # either systemd or resolvconf
- };
- };
- };
- }
diff --git a/modules/networking/nixos/networkd.nix b/modules/networking/nixos/networkd.nix
deleted file mode 100644
index 2c7f580..0000000
--- a/modules/networking/nixos/networkd.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- # lib,
- config,
- ...
-}: let
- cfg = config.collinux.system.network;
- dhcp_enabled = cfg.static == null;
-
- device =
- if (cfg.wireless == null)
- then "eth0"
- else "wl*";
-in {
- networking.useNetworkd = true;
- systemd.network = {
- enable = true;
-
- wait-online = {
- enable = true;
- ignoredInterfaces = ["docker0"];
- anyInterface = true;
- };
-
- networks."11-default" =
- if dhcp_enabled
- then {
- name = device;
- networkConfig.DHCP = "yes";
-
- # never accept dhcp dns
- dhcpV4Config.UseDNS = "no";
- dhcpV6Config.UseDNS = "no";
- }
- else {
- name = device;
- networkConfig = {
- Address = cfg.static.ip;
- Gateway = cfg.static.gateway;
- DHCP = "no";
- # DNS is managed by systemd-resolved (not specified here)
- };
- };
- };
-}
diff --git a/modules/networking/nixos/resolved.nix b/modules/networking/nixos/resolved.nix
deleted file mode 100644
index 01e75e2..0000000
--- a/modules/networking/nixos/resolved.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.system.network.dns;
-in
- lib.mkIf (!cfg.areYouAServer) {
- networking.nameservers = [
- "9.9.9.9#dns.quad9.net"
- "149.112.112.112#dns.quad9.net"
- ];
-
- services.resolved = {
- enable = true;
- settings.Resolve = {
- DNSOverTLS = true;
- DNSSEC = "allow-downgrade";
-
- LLMNR = false;
- MulticastDNS = false;
- };
- };
- }
diff --git a/modules/networking/nixos/unbound.nix b/modules/networking/nixos/unbound.nix
deleted file mode 100644
index b8b1e0b..0000000
--- a/modules/networking/nixos/unbound.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.system.network.dns;
-in
- lib.mkIf cfg.areYouAServer {
- networking = {
- nameservers = ["127.0.0.1"];
- resolvconf.enable = lib.mkForce true; # we disabled this earlier
- };
- services.resolved.enable = false;
-
- services.unbound = {
- enable = true;
- settings.server = {
- interface = ["0.0.0.0"];
- port = 53;
- access-control = [
- "127.0.0.0/8 allow"
- "10.100.0.0/24 allow"
- "0.0.0.0/0 refuse"
- ];
-
- local-zone = [''"ganymede." redirect''];
- local-data = [''"ganymede. IN A 10.100.0.1"''];
- };
- };
- }
diff --git a/modules/networking/nixos/wpasupplicant.nix b/modules/networking/nixos/wpasupplicant.nix
deleted file mode 100644
index 8314095..0000000
--- a/modules/networking/nixos/wpasupplicant.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.system.network.wireless;
- enabled = cfg.static != null;
-in
- lib.mkIf enabled {
- networking.wireless = {
- enable = true;
- networks.${cfg.static.ssid}.pskRaw = "ext:psk";
- secretsFile = cfg.static.pskFile;
- };
- }
diff --git a/modules/networking/options.nix b/modules/networking/options.nix
deleted file mode 100644
index cc4864b..0000000
--- a/modules/networking/options.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- lib,
- my-lib,
- ...
-}: let
- inherit (my-lib.netTypes {inherit lib;}) ipAddr ipAddrCidr;
- inherit (lib) mkOption mkEnableOption;
-in {
- options.collinux.system.network = {
- dns.areYouAServer = mkEnableOption "Set up unbound with the *.ganymede resolver and disable resolved stub";
-
- static = lib.mkOption {
- description = "Set a static IP address for this device on this network. Leave unset to use DHCP";
- type = lib.types.nullOr (lib.types.submodule {
- options = {
- ip = mkOption {
- description = "IP address";
- type = ipAddrCidr;
- };
- gateway = mkOption {
- description = "default gateway";
- type = ipAddr;
- };
- };
- });
- default = null;
- };
-
- wireless = {
- static = lib.mkOption {
- description = "Set a preconfigured SSID and PSK for the wireless config";
- type = lib.types.nullOr (lib.types.submodule {
- options = {
- ssid = mkOption {
- description = "SSID for this network";
- type = lib.types.str;
- };
- pskFile = mkOption {
- description = "Absolute path to a file containing the pre-shared key for this network in the form `psk:<wifi psk>`";
- type = lib.types.str;
- example = "/run/secrets.d/wifi-psk";
- };
- };
- });
- default = null;
- };
- dynamic = mkEnableOption "Enable dynamically joining wireless networks with iwd";
- };
-
- wireguard = {
- enable = mkEnableOption "Whether to enable Wireguard on this device";
- # peers = lib.types.listOf (lib.types.submodule {
- # options = {
- # };
- # });
- };
- };
-}
diff --git a/modules/system/nixos/boot.nix b/modules/system/nixos/boot.nix
index aefc6da..3b095ab 100644
--- a/modules/system/nixos/boot.nix
+++ b/modules/system/nixos/boot.nix
@@ -74,7 +74,7 @@ in {
};
});
- system.etc.overlay.enable = true;
+ # system.etc.overlay.enable = true;
system.nixos-init.enable = true;
# store journald logs in memory
diff --git a/modules/system/options.nix b/modules/system/options.nix
index cbc8cd1..931565f 100644
--- a/modules/system/options.nix
+++ b/modules/system/options.nix
@@ -29,14 +29,4 @@ in {
bluetooth.enable = mkEnableOption "bluetooth";
printing.enable = mkEnableOption "cups printing server";
};
-
- config.assertions = [
- {
- assertion = let
- cfg = config.collinux.system.network.wireless;
- in
- !(cfg.static != null && cfg.dynamic);
- message = "Configure a static wireless connection or a dynamic one; not both.";
- }
- ];
}
diff --git a/modules/user/nixos/default.nix b/modules/user/nixos/default.nix
index 68238d6..239f7ce 100644
--- a/modules/user/nixos/default.nix
+++ b/modules/user/nixos/default.nix
@@ -26,7 +26,10 @@ in {
Defaults pwfeedback
'';
};
- run0.enableSudoAlias = cfg.useRun0;
+ run0 = {
+ enable = cfg.useRun0;
+ enableSudoAlias = cfg.useRun0;
+ };
};
time.timeZone = "America/Chicago";