aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/desktop/home/default.nix21
-rw-r--r--modules/desktop/home/environments/hyprland/default.nix14
-rw-r--r--modules/desktop/home/environments/hyprland/dunst.nix44
-rw-r--r--modules/desktop/home/environments/hyprland/fuzzel.nix44
-rw-r--r--modules/desktop/home/environments/hyprland/hyprland/catppuccin.conf79
-rw-r--r--modules/desktop/home/environments/hyprland/hyprland/default.nix96
-rw-r--r--modules/desktop/home/environments/hyprland/hyprland/wallpaper.jpgbin169046 -> 0 bytes
-rw-r--r--modules/desktop/home/environments/hyprland/waybar/catppuccin.scss26
-rw-r--r--modules/desktop/home/environments/hyprland/waybar/config.nix59
-rw-r--r--modules/desktop/home/environments/hyprland/waybar/default.nix20
-rw-r--r--modules/desktop/home/environments/hyprland/waybar/power_menu.xml23
-rw-r--r--modules/desktop/home/environments/hyprland/waybar/style.scss86
-rw-r--r--modules/desktop/home/programs/blackbox.nix (renamed from modules/terminal/home/emulators/blackbox.nix)2
-rw-r--r--modules/desktop/home/programs/musescore.nix13
-rw-r--r--modules/desktop/options.nix29
-rw-r--r--modules/desktop/system/components/dunst.nix2
-rw-r--r--modules/desktop/system/environments/sway.nix6
-rw-r--r--modules/services/system/audio.nix1
-rw-r--r--modules/terminal/home/default.nix5
-rw-r--r--modules/terminal/options.nix14
-rw-r--r--modules/terminal/system/default.nix11
-rw-r--r--modules/terminal/system/programs/tmux.nix7
-rw-r--r--modules/user/system/default.nix14
23 files changed, 42 insertions, 574 deletions
diff --git a/modules/desktop/home/default.nix b/modules/desktop/home/default.nix
index 47d8687..98b6059 100644
--- a/modules/desktop/home/default.nix
+++ b/modules/desktop/home/default.nix
@@ -1,14 +1,9 @@
-let
- findPrograms =
- builtins.attrValues
- (builtins.mapAttrs
- (file: type: ./programs/${file})
- (builtins.readDir ./programs));
-in {
- imports =
- [
- ./environments/gnome
- ./gtk
- ]
- ++ findPrograms;
+{
+ imports = [
+ ./environments/gnome
+ ./gtk
+
+ ./programs/firefox/default.nix
+ ./programs/blackbox.nix
+ ];
}
diff --git a/modules/desktop/home/environments/hyprland/default.nix b/modules/desktop/home/environments/hyprland/default.nix
deleted file mode 100644
index 85abeaa..0000000
--- a/modules/desktop/home/environments/hyprland/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.desktop.hyprland;
-in {
- imports = [
- ./hyprland
- ./dunst.nix
- ./fuzzel.nix
- ./waybar
- ];
-}
diff --git a/modules/desktop/home/environments/hyprland/dunst.nix b/modules/desktop/home/environments/hyprland/dunst.nix
deleted file mode 100644
index 6a5a0d1..0000000
--- a/modules/desktop/home/environments/hyprland/dunst.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.desktop.hyprland.components.dunst;
-in
- lib.mkIf cfg.enable {
- services.dunst = {
- enable = true;
- settings = lib.mkMerge [
- {
- global = {
- offset = "8x30";
- origin = "top-right";
- transparency = 10;
- font = "Iosevka Nerd Font";
- };
- }
- (lib.mkIf (cfg.theme == "catppuccin") {
- global = {
- frame_color = "#89b4fa";
- highlight = "#89b4fa";
- };
-
- urgency_low = {
- background = "#1e1e2e";
- foreground = "#cdd6f4";
- };
-
- urgency_normal = {
- background = "#1e1e2e";
- foreground = "#cdd6f4";
- };
-
- urgency_critical = {
- background = "#1e1e2e";
- foreground = "#cdd6f4";
- frame_color = "#fab387";
- };
- })
- ];
- };
- }
diff --git a/modules/desktop/home/environments/hyprland/fuzzel.nix b/modules/desktop/home/environments/hyprland/fuzzel.nix
deleted file mode 100644
index 6dca3fb..0000000
--- a/modules/desktop/home/environments/hyprland/fuzzel.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- lib,
- config,
- ...
-}: let
- cfg = config.collinux.desktop.hyprland.components.fuzzel;
-in
- lib.mkIf cfg.enable {
- programs.fuzzel = {
- enable = true;
- settings = {
- main = {
- prompt = " ";
- dpi-aware = false;
-
- font = "Iosevka Nerd Font";
- line-height = 25;
- lines = 10;
- width = 30;
-
- horizontal-pad = 8;
- vertical-pad = 8;
- };
- border = {
- radius = 0;
- width = 2;
- };
-
- colors = lib.mkIf (cfg.theme == "catppuccin") {
- background = "1e1e2edd";
- text = "cdd6f4ff";
- prompt = "bac2deff";
- placeholder = "7f849cff";
- input = "cdd6f4ff";
- match = "89b4faff";
- selection = "585b70ff";
- selection-text = "cdd6f4ff";
- selection-match = "89b4faff";
- counter = "7f849cff";
- border = "89b4faff";
- };
- };
- };
- }
diff --git a/modules/desktop/home/environments/hyprland/hyprland/catppuccin.conf b/modules/desktop/home/environments/hyprland/hyprland/catppuccin.conf
deleted file mode 100644
index 572cb7e..0000000
--- a/modules/desktop/home/environments/hyprland/hyprland/catppuccin.conf
+++ /dev/null
@@ -1,79 +0,0 @@
-$rosewater = rgb(f5e0dc)
-$rosewaterAlpha = f5e0dc
-
-$flamingo = rgb(f2cdcd)
-$flamingoAlpha = f2cdcd
-
-$pink = rgb(f5c2e7)
-$pinkAlpha = f5c2e7
-
-$mauve = rgb(cba6f7)
-$mauveAlpha = cba6f7
-
-$red = rgb(f38ba8)
-$redAlpha = f38ba8
-
-$maroon = rgb(eba0ac)
-$maroonAlpha = eba0ac
-
-$peach = rgb(fab387)
-$peachAlpha = fab387
-
-$yellow = rgb(f9e2af)
-$yellowAlpha = f9e2af
-
-$green = rgb(a6e3a1)
-$greenAlpha = a6e3a1
-
-$teal = rgb(94e2d5)
-$tealAlpha = 94e2d5
-
-$sky = rgb(89dceb)
-$skyAlpha = 89dceb
-
-$sapphire = rgb(74c7ec)
-$sapphireAlpha = 74c7ec
-
-$blue = rgb(89b4fa)
-$blueAlpha = 89b4fa
-
-$lavender = rgb(b4befe)
-$lavenderAlpha = b4befe
-
-$text = rgb(cdd6f4)
-$textAlpha = cdd6f4
-
-$subtext1 = rgb(bac2de)
-$subtext1Alpha = bac2de
-
-$subtext0 = rgb(a6adc8)
-$subtext0Alpha = a6adc8
-
-$overlay2 = rgb(9399b2)
-$overlay2Alpha = 9399b2
-
-$overlay1 = rgb(7f849c)
-$overlay1Alpha = 7f849c
-
-$overlay0 = rgb(6c7086)
-$overlay0Alpha = 6c7086
-
-$surface2 = rgb(585b70)
-$surface2Alpha = 585b70
-
-$surface1 = rgb(45475a)
-$surface1Alpha = 45475a
-
-$surface0 = rgb(313244)
-$surface0Alpha = 313244
-
-$base = rgb(1e1e2e)
-$baseAlpha = 1e1e2e
-
-$mantle = rgb(181825)
-$mantleAlpha = 181825
-
-$crust = rgb(11111b)
-$crustAlpha = 11111b
-
-$accent = $mauve
diff --git a/modules/desktop/home/environments/hyprland/hyprland/default.nix b/modules/desktop/home/environments/hyprland/hyprland/default.nix
deleted file mode 100644
index 1c3c2b8..0000000
--- a/modules/desktop/home/environments/hyprland/hyprland/default.nix
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}: let
- cfg = config.collinux.desktop.hyprland;
-in
- lib.mkIf cfg.enable {
- home.file."${config.xdg.configHome}/uwsm/env" = lib.mkIf cfg.useUwsm {
- text = ''export QT_QPA_PLATFORM=wayland'';
- };
-
- home.packages = with pkgs; [wl-clipboard hyprshot brightnessctl];
-
- wayland.windowManager.hyprland = {
- enable = true;
- systemd.enable = !cfg.useUwsm; # conflicts with uwsm
-
- settings = {
- source = "${./catppuccin.conf}";
-
- xwayland.enabled = false; # all of my apps are compatible with wayland
- general = {
- "col.active_border" = "$accent";
- "col.inactive_border" = "$base";
- border_size = 2;
- gaps_in = 5;
- gaps_out = 8;
- };
-
- # TODO these should be dependent on what applications are enabled
- bind =
- [
- "Mod4, q, killactive"
- "Mod4, x, exec, footclient"
- "Mod4, b, exec, firefox"
- "Mod4, h, exec, obsidian"
- "Mod4, SPACE, exec, fuzzel"
- ]
- ++ (
- # workspaces
- # binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
- builtins.concatLists (builtins.genList (
- i: let
- ws = i + 1;
- in [
- "Mod4, code:1${toString i}, workspace, ${toString ws}"
- "Mod4 SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
- ]
- )
- 9)
- );
-
- binde = [
- ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
- ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
-
- ", XF86MonBrightnessUp, exec, brightnessctl s 5%+"
- ", XF86MonBrightnessDown, exec, brightnessctl s 5%-"
- ];
-
- bindm = [
- "Mod4, mouse:272, movewindow"
- "Mod4, mouse:273, resizewindow"
- ];
-
- monitor = ", prefred, auto, 1";
- animations = {
- bezier = [
- "ease, 0.25, 0.1, 0.25, 1"
- "menu_decel, 0.1, 1, 0, 1"
- ];
- animation = [
- "workspaces, 1, 2, ease"
- "workspaces, 1, 7, menu_decel, slidefade 15%"
- "global, 1, 2.5, ease"
- "windowsIn, 1, 2.75, ease, slide"
- "windowsOut, 1.275, ease, slide"
- ];
- };
- misc.disable_hyprland_logo = true;
- };
- };
-
- home.file."Pictures/wallpaper.jpg".source = ./wallpaper.jpg;
-
- services.hyprpaper = {
- enable = true;
- settings = {
- ipc = false;
- preload = ["Pictures/wallpaper.jpg"];
- wallpaper = ",Pictures/wallpaper.jpg";
- };
- };
- }
diff --git a/modules/desktop/home/environments/hyprland/hyprland/wallpaper.jpg b/modules/desktop/home/environments/hyprland/hyprland/wallpaper.jpg
deleted file mode 100644
index 039afcc..0000000
--- a/modules/desktop/home/environments/hyprland/hyprland/wallpaper.jpg
+++ /dev/null
Binary files differ
diff --git a/modules/desktop/home/environments/hyprland/waybar/catppuccin.scss b/modules/desktop/home/environments/hyprland/waybar/catppuccin.scss
deleted file mode 100644
index 0eb6a82..0000000
--- a/modules/desktop/home/environments/hyprland/waybar/catppuccin.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-@define-color rosewater #f5e0dc;
-@define-color flamingo #f2cdcd;
-@define-color pink #f5c2e7;
-@define-color mauve #cba6f7;
-@define-color red #f38ba8;
-@define-color maroon #eba0ac;
-@define-color peach #fab387;
-@define-color yellow #f9e2af;
-@define-color green #a6e3a1;
-@define-color teal #94e2d5;
-@define-color sky #89dceb;
-@define-color sapphire #74c7ec;
-@define-color blue #89b4fa;
-@define-color lavender #b4befe;
-@define-color text #cdd6f4;
-@define-color subtext1 #bac2de;
-@define-color subtext0 #a6adc8;
-@define-color overlay2 #9399b2;
-@define-color overlay1 #7f849c;
-@define-color overlay0 #6c7086;
-@define-color surface2 #585b70;
-@define-color surface1 #45475a;
-@define-color surface0 #313244;
-@define-color base #1e1e2e;
-@define-color mantle #181825;
-@define-color crust #11111b;
diff --git a/modules/desktop/home/environments/hyprland/waybar/config.nix b/modules/desktop/home/environments/hyprland/waybar/config.nix
deleted file mode 100644
index 7afa83c..0000000
--- a/modules/desktop/home/environments/hyprland/waybar/config.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{pkgs, ...}: {
- spacing = 4;
- modules-left = ["custom/launcher" "hyprland/workspaces"];
- modules-center = ["hyprland/window"];
- modules-right = ["bluetooth" "wireplumber" "battery" "clock" "custom/power"];
-
- "custom/launcher" = {
- format = " ";
- on-click = "${pkgs.fuzzel}/bin/fuzzel";
- };
- "hyprland/workspaces" = {
- disable-scroll = true;
- all-outputs = true;
- warp-on-scroll = false;
- format = "{icon}";
- format-icons = {
- "1" = "";
- "2" = "󰈹";
- "3" = "󰝚";
- "4" = "󰎚";
- "5" = "";
- };
- };
- "hyprland/window" = {
- on-click = "hyprctl dispatch float";
- };
- "bluetooth" = {
- format = "";
- format-connected = "󰂯 {device_alias}";
- };
- "battery" = {
- format = "{icon} {capacity}%";
- format-alt = "{icon}";
- format-icons = [" " " " " " " " " "];
- };
- "wireplumber" = {
- format = "{icon} {volume}%";
- format-alt = "{icon}";
- format-muted = "󰖁 {volume}%";
- format-icons.default = ["󰕿" "󰖀" "󰕾"];
- tooltip = false;
- };
- "clock" = {
- format = "{:%I:%M}";
- format-alt = "/{:%Y/%b/%d-%a}";
- tooltip = false;
- };
- "custom/power" = {
- format = " collin";
- tooltip = false;
- menu = "on-click";
- menu-file = "${./power_menu.xml}";
- menu-actions = {
- logout = "hyprctl dispatch exit";
- reboot = "reboot";
- shutdown = "poweroff";
- };
- };
-}
diff --git a/modules/desktop/home/environments/hyprland/waybar/default.nix b/modules/desktop/home/environments/hyprland/waybar/default.nix
deleted file mode 100644
index 3b73a78..0000000
--- a/modules/desktop/home/environments/hyprland/waybar/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- pkgs,
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.desktop.hyprland.components.waybar;
-in
- lib.mkIf cfg.enable {
- programs.waybar = {
- enable = true;
- systemd.enable = true;
- settings."mainBar" = import ./config.nix {inherit pkgs;};
- style = lib.mkIf (cfg.theme == "catppuccin") ''
- @import "${./catppuccin.scss}";
-
- ${builtins.readFile ./style.scss}
- '';
- };
- }
diff --git a/modules/desktop/home/environments/hyprland/waybar/power_menu.xml b/modules/desktop/home/environments/hyprland/waybar/power_menu.xml
deleted file mode 100644
index 2935c89..0000000
--- a/modules/desktop/home/environments/hyprland/waybar/power_menu.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<interface>
- <object class="GtkMenu" id="menu">
- <child>
- <object class="GtkMenuItem" id="logout">
- <property name="label">Log Out</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="delimiter1"/>
- </child>
- <child>
- <object class="GtkMenuItem" id="reboot">
- <property name="label">Reboot</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="shutdown">
- <property name="label">Shutdown</property>
- </object>
- </child>
- </object>
-</interface>
diff --git a/modules/desktop/home/environments/hyprland/waybar/style.scss b/modules/desktop/home/environments/hyprland/waybar/style.scss
deleted file mode 100644
index 7674164..0000000
--- a/modules/desktop/home/environments/hyprland/waybar/style.scss
+++ /dev/null
@@ -1,86 +0,0 @@
-* {
- font-family: Iosevka Nerd Font;
- font-size: 10pt;
- min-height: 0;
-}
-
-#waybar {
- background: @base;
- color: @text;
-}
-
-#workspaces,
-#clock,
-#battery,
-#wireplumber,
-#bluetooth.connected,
-#custom-power {
- color: @text;
- background: @surface0;
-
- padding: 0.5rem 1rem;
- border-radius: 1rem;
-
- margin: 5px 0;
-}
-
-#workspaces button {
- color: @lavender;
- border-radius: 1rem;
- padding: 0rem 0.75rem;
-}
-
-#workspaces button.active {
- color: @sky;
-}
-
-#workspaces button:hover {
- box-shadow: inherit;
- text-shadow: inherit;
- background: none;
- border: none;
- border-color: transparent;
- padding: 0 0.75rem;
- margin: 0;
-}
-
-#window {
- font-size: 12pt;
-}
-
-#custom-launcher {
- color: @blue;
- font-size: 12pt;
- padding: 0;
- margin: 0;
-
- margin-left: 1rem;
- margin-right: 1rem;
-}
-
-#bluetooth.connected {
- color: @blue;
-}
-
-#wireplumber {
- color: @maroon;
- border-radius: 1rem 0 0 1rem;
- margin-left: 1rem;
-}
-
-#battery {
- color: @green;
- border-radius: 0;
-}
-
-#clock {
- color: @blue;
- border-radius: 0 1rem 1rem 0;
- margin-right: 1rem;
-}
-
-#custom-power {
- color: @rosewater;
- margin-right: 1rem;
- /* border: @rosewater 1px solid; */
-} \ No newline at end of file
diff --git a/modules/terminal/home/emulators/blackbox.nix b/modules/desktop/home/programs/blackbox.nix
index 7da15a9..c2d9520 100644
--- a/modules/terminal/home/emulators/blackbox.nix
+++ b/modules/desktop/home/programs/blackbox.nix
@@ -4,7 +4,7 @@
config,
...
}: let
- cfg = config.collinux.terminal.terminalEmulators.blackbox;
+ cfg = config.collinux.desktop.programs.blackbox;
in
lib.mkIf cfg.enable {
home.packages = [pkgs.blackbox-terminal];
diff --git a/modules/desktop/home/programs/musescore.nix b/modules/desktop/home/programs/musescore.nix
deleted file mode 100644
index 5fbf0f5..0000000
--- a/modules/desktop/home/programs/musescore.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- lib,
- pkgs,
- config,
- ...
-}: let
- cfg = config.collinux.desktop.programs.musescore;
-in
- lib.mkIf cfg.enable {
- home.packages = [pkgs.musescore];
-
- # TODO: is there a way to declare a musescore configuration?
- }
diff --git a/modules/desktop/options.nix b/modules/desktop/options.nix
index 0301373..9bc4099 100644
--- a/modules/desktop/options.nix
+++ b/modules/desktop/options.nix
@@ -1,21 +1,11 @@
{
config,
lib,
+ my-lib,
...
}: let
inherit (lib) mkOption mkEnableOption types;
-
- mkProgramOption' = name: extraOpts:
- {
- enable = mkEnableOption "whether to enable ${name}";
- theme = mkOption {
- type = types.enum ["catppuccin" "adwaita"];
- default = config.collinux.terminal.theme;
- };
- }
- // extraOpts;
-
- mkProgramOption = name: mkProgramOption' name {};
+ inherit (my-lib.options {inherit lib config;}) mkProgramOption;
in {
options = {
collinux.desktop = {
@@ -24,21 +14,22 @@ in {
default = let
cfg = config.collinux.desktop;
in
- if ((cfg.hyprland.enable || cfg.sway.enable) && !cfg.gnome.enable)
+ if (cfg.sway.enable && !cfg.gnome.enable)
then "greetd"
else "gdm";
};
+ wallpaper = mkOption {
+ type = types.path;
+ };
+
components = {
waybar = mkProgramOption "waybar";
dunst = mkProgramOption "dunst";
fuzzel = mkProgramOption "fuzzel";
};
- sway = {
- enable = mkEnableOption "sway";
- };
-
+ sway.enable = mkEnableOption "sway";
gnome.enable = mkEnableOption "gnome";
gtk.theme = mkOption {
@@ -58,9 +49,9 @@ in {
default = config.collinux.theme;
};
};
- foot.enable = mkEnableOption "foot";
- musescore.enable = mkEnableOption "musescore";
+ foot.enable = mkEnableOption "foot";
+ blackbox.enable = mkEnableOption "blackbox";
};
};
};
diff --git a/modules/desktop/system/components/dunst.nix b/modules/desktop/system/components/dunst.nix
index cb650a1..37fce2b 100644
--- a/modules/desktop/system/components/dunst.nix
+++ b/modules/desktop/system/components/dunst.nix
@@ -33,6 +33,6 @@ in
lib.mkIf cfg.enable {
hjem.users."${config.collinux.user.name}" = {
files.".config/dunst/dunstrc".source = settings;
- packages = [pkgs.dunst];
+ packages = [pkgs.dunst pkgs.inotify-tools];
};
}
diff --git a/modules/desktop/system/environments/sway.nix b/modules/desktop/system/environments/sway.nix
index 467363a..ca5e0f7 100644
--- a/modules/desktop/system/environments/sway.nix
+++ b/modules/desktop/system/environments/sway.nix
@@ -38,6 +38,7 @@
settings = pkgs.writeText "config" ''
exec ${pkgs.foot}/bin/foot --server
exec ${pkgs.swaybg}/bin/swaybg -i ${config.collinux.desktop.wallpaper}
+ exec ${pkgs.dunst}/bin/dunst
include catppuccin-mocha
@@ -74,6 +75,9 @@
bindsym Mod4+b exec ${pkgs.firefox}/bin/firefox
bindsym Mod4+q kill
+ bindsym XF86AudioRaiseVolume exec 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+; dunstify -t 300 -h string:x-canonical-private-synchronous:audio "Volume: " -h int:value:"$(dec=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | sed 's/Volume:\ //'); echo "$dec * 100" | bc)"'
+ bindsym XF86AudioLowerVolume exec 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-; dunstify -t 300 -h string:x-canonical-private-synchronous:audio "Volume: " -h int:value:"$(dec=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | sed 's/Volume:\ //'); echo "$dec * 100" | bc)"'
+
default_border pixel 2
smart_borders on
smart_gaps on
@@ -86,7 +90,7 @@ in
".config/sway/catppuccin-mocha".source = colors;
};
- packages = [pkgs.sway];
+ packages = [pkgs.sway pkgs.bc];
};
# Greetd
diff --git a/modules/services/system/audio.nix b/modules/services/system/audio.nix
index f0586ea..93f8289 100644
--- a/modules/services/system/audio.nix
+++ b/modules/services/system/audio.nix
@@ -7,6 +7,7 @@
cfg = config.collinux.services.audio;
in
lib.mkIf cfg.enable {
+ security.rtkit.enable = true;
services.pipewire = {
enable = true;
wireplumber.enable = true;
diff --git a/modules/terminal/home/default.nix b/modules/terminal/home/default.nix
deleted file mode 100644
index a874872..0000000
--- a/modules/terminal/home/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{pkgs, ...}: {
- imports = [
- ./emulators/blackbox.nix # can't do dbus with hjem
- ];
-}
diff --git a/modules/terminal/options.nix b/modules/terminal/options.nix
index b728f99..41d1ded 100644
--- a/modules/terminal/options.nix
+++ b/modules/terminal/options.nix
@@ -2,21 +2,11 @@
pkgs,
config,
lib,
+ my-lib,
...
}: let
inherit (lib) mkOption mkEnableOption types;
-
- mkProgramOption' = name: extraOpts:
- {
- enable = mkEnableOption "whether to enable ${name}";
- theme = mkOption {
- type = types.enum ["catppuccin" "adwaita"];
- default = config.collinux.terminal.theme;
- };
- }
- // extraOpts;
-
- mkProgramOption = name: mkProgramOption' name {};
+ inherit (my-lib.options {inherit lib config;}) mkProgramOption' mkProgramOption;
in {
options = {
collinux.terminal = {
diff --git a/modules/terminal/system/default.nix b/modules/terminal/system/default.nix
index 32ca3f9..d5cd1f5 100644
--- a/modules/terminal/system/default.nix
+++ b/modules/terminal/system/default.nix
@@ -1,18 +1,19 @@
{
config,
pkgs,
+ my-lib,
...
}: let
cfg = config.collinux.terminal.shells;
in {
imports = [
- ./programs/helix.nix
- ./programs/tmux.nix
- ./programs/fish.nix
- ./programs/starship.nix
- ./programs/lazygit.nix
./programs/cmus.nix
+ ./programs/fish.nix
./programs/git.nix
+ ./programs/helix.nix
+ ./programs/lazygit.nix
+ ./programs/starship.nix
+ ./programs/tmux.nix
];
programs.command-not-found.enable = false; # broken without nix-channels
diff --git a/modules/terminal/system/programs/tmux.nix b/modules/terminal/system/programs/tmux.nix
index b947d95..ecb5e21 100644
--- a/modules/terminal/system/programs/tmux.nix
+++ b/modules/terminal/system/programs/tmux.nix
@@ -143,13 +143,10 @@
run-shell "${scripts.bar}/bin/bar.sh"
# Sessions
- # set-hook -ag client-detached 'run-shell ${scripts.cleanSessions}/bin/clean-sessions.sh'
- # set-hook -ag client-session-changed 'run-shell ${scripts.cleanSessions}/bin/clean-sessions.sh'
+ set-hook -ag client-detached 'run-shell ${scripts.cleanSessions}/bin/clean-sessions.sh'
+ set-hook -ag client-session-changed 'run-shell ${scripts.cleanSessions}/bin/clean-sessions.sh'
bind-key -n C-f run-shell "${scripts.primeProjects}/bin/projects.sh"
- bind-key -n M-1 run-shell "${scripts.primeProjects}/bin/projects.sh ~/Music"
- bind-key -n M-2 run-shell "${scripts.primeProjects}/bin/projects.sh ~/Documents/brain2.0"
- bind-key -n M-3 run-shell "${scripts.primeProjects}/bin/projects.sh ~/nixos"
bind-key -n C-g display-popup -E -w 80% -h 80% -x C -y C -d "#{pane_current_path}" "${pkgs.lazygit}/bin/lazygit"
'';
diff --git a/modules/user/system/default.nix b/modules/user/system/default.nix
index 52d8116..dad00e0 100644
--- a/modules/user/system/default.nix
+++ b/modules/user/system/default.nix
@@ -1,16 +1,14 @@
-{config, ...}: let
+{
+ config,
+ lib,
+ ...
+}: let
cfg = config.collinux.user;
in {
users.users."${cfg.name}" = {
isNormalUser = true;
description = cfg.name;
- extraGroups =
- ["networkmanager" "disks"]
- ++ (
- if cfg.isAdmin
- then ["wheel"]
- else []
- );
+ extraGroups = ["networkmanager" "disks"] ++ (lib.optional cfg.isAdmin "wheel");
hashedPassword = cfg.password;
};