diff --git a/hosts/hermit/configuration.nix b/hosts/hermit/configuration.nix index 7e45d0a..4350337 100644 --- a/hosts/hermit/configuration.nix +++ b/hosts/hermit/configuration.nix @@ -69,7 +69,7 @@ btop.enable = true; nh.enable = true; thunar.enable = true; - schizofox.enable = false; + schizofox.enable = true; }; }; system.stateVersion = "23.11"; diff --git a/hosts/hermit/programs.nix b/hosts/hermit/programs.nix index 6070964..f5eb236 100644 --- a/hosts/hermit/programs.nix +++ b/hosts/hermit/programs.nix @@ -12,6 +12,7 @@ brave cachix calc + # calibre cbonsai cinny-desktop cmus @@ -38,14 +39,19 @@ inetutils jujutsu just + jrnl keepassxc lazygit libtool librewolf links2 linuxHeaders + moc mpv + ncmpcpp + neofetch networkmanagerapplet + nicotine-plus nil nitch obsidian @@ -53,10 +59,11 @@ microfetch nmap pamixer - pwvucontrol + pavucontrol pdfarranger pdfpc pfetch + pidgin playerctl polkit pulsemixer @@ -66,15 +73,26 @@ signal-desktop smartmontools telegram-desktop + texliveFull + tldr thunderbird + tor-browser trash-cli typst util-linux v4l-utils + vesktop vlc vscodium + weechat wireguard-tools xournalpp + zapzap + zip + zoxide + kakoune + kakoune-lsp + television ; inherit (self.packages.${pkgs.stdenv.system}) helix; }; diff --git a/modules/services/greetd/module.nix b/modules/services/greetd/module.nix index a772bee..633e644 100644 --- a/modules/services/greetd/module.nix +++ b/modules/services/greetd/module.nix @@ -4,7 +4,7 @@ pkgs, ... }: let - inherit (lib.meta) getExe getExe'; + inherit (lib.meta) getExe; inherit (lib.modules) mkIf; inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) str listOf; @@ -36,15 +36,14 @@ in { config = mkIf cfg.enable { services.greetd = let session = { - # command = '' - # ${pkgs.greetd.tuigreet}/bin/tuigreet \ - # -c \"${cfg.session}\" \ - # -r - # -t --time-format "DD.MM.YYYY" - # --asteriks''; - - command = "${getExe config.programs.uwsm.package} start hyprland-uwsm.desktop"; - user = username; + command = '' + ${pkgs.greetd.tuigreet}/bin/tuigreet \ + -c \"${cfg.session}\" \ + -r + -t --time-format "DD.MM.YYYY" + --asteriks''; + # command = "${getExe config.programs.uwsm.package} start hyprland-uwsm.desktop"; + # user = username; }; in { enable = true; diff --git a/modules/services/wayneko/module.nix b/modules/services/wayneko/module.nix index 511304d..d3385e5 100644 --- a/modules/services/wayneko/module.nix +++ b/modules/services/wayneko/module.nix @@ -1,4 +1,5 @@ { + config, lib, pkgs, ... @@ -21,38 +22,29 @@ in { RestartSec = 1; TimeoutStopSec = 10; - CapabilityBoundingSet = [""]; - DevicePolicy = "closed"; LockPersonality = true; MemoryDenyWriteExecute = true; NoNewPrivileges = true; - PrivateDevices = true; - PrivateNetwork = true; + PrivateTmp = true; - PrivateUsers = true; - ProcSubset = "pid"; + PrivateDevices = true; + DevicePolicy = "closed"; + PrivateNetwork = true; ProtectClock = true; ProtectControlGroups = true; ProtectControlGroup = true; - ProtectHome = "true"; - ProtectHostname = true; ProtectKernelLogs = true; ProtectKernelModules = true; ProtectKernelTunables = true; - ProtectProc = "invisible"; ProtectSystem = "strict"; + ProtectHome = "read-only"; + RestrictNamespaces = true; RestrictRealtime = true; RestrictRealTime = true; RestrictSUIDSGID = true; - SystemCallArchitectures = ["native"]; - - SystemCallFilter = [ - "@system-service" - "~@privileged" - "~@resources" - ]; + SystemCallFilter = "~@clock @cpu-emulation @debug @obsolete @module @mount @raw-io @reboot @swap"; }; }; } diff --git a/modules/style/gtk.nix b/modules/style/gtk.nix index 3a09c87..2e180bc 100644 --- a/modules/style/gtk.nix +++ b/modules/style/gtk.nix @@ -4,43 +4,18 @@ pkgs, ... }: let - inherit (builtins) toString isBool; - inherit (lib.generators) toINI; - inherit (lib.modules) mkMerge mkIf; + inherit (lib.modules) mkIf; inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) str package; - inherit (lib.strings) escape; - inherit (lib.trivial) boolToString; cfg = config.modules.theming.gtk; - - toGtk3Ini = toINI { - mkKeyValue = key: value: let - value' = - if isBool value - then boolToString value - else toString value; - in "${escape ["="] key}=${value'}"; - }; - - gtkIni = { - gtk-application-prefer-dark-theme = 1; - gtk-font-name = "Lexend 11"; - gtk-icon-theme-name = "Papirus"; - gtk-xft-antialias = 1; - gtk-xft-hinting = 1; - gtk-xft-hintstyle = "hintslight"; - gtk-xft-rgba = "rgb"; - gtk-cursor-theme-name = "BreezeX-RosePine-Linux"; - gtk-theme-name = "Gruvbox-Dark"; - }; in { options.modules.theming.gtk = { enable = mkEnableOption "Wether to enable GTK theming"; theme = { name = mkOption { description = "The GTK theme name"; - default = "Gruvbox-Dark"; + default = "Gruvbox-Dark-BL"; type = str; }; package = mkOption { @@ -53,7 +28,7 @@ in { description = "The GTK icon theme"; name = mkOption { description = "The GTK icon theme name"; - default = "Papirus"; + default = "Papirus-Dark"; type = str; }; package = mkOption { @@ -63,49 +38,28 @@ in { }; }; }; - config = let - cursorSize = 32; - in - mkIf cfg.enable { - programs.dconf.enable = true; - environment = { - systemPackages = builtins.attrValues { - inherit - (pkgs) - rose-pine-cursor - gruvbox-gtk-theme - papirus-icon-theme - ; - }; - variables = { - GTK_THEME = cfg.theme.name; - XCURSOR_THEME = "BreezeX-RosePine-Linux"; - XCURSOR_SIZE = toString cursorSize; + config = mkIf cfg.enable { + # NOTE: we need this or gtk breaks + programs.dconf.enable = true; - HYPRCURSOR_THEME = "BreezeX-RosePine-Linux"; - HYPRCURSOR_SIZE = toString cursorSize; - }; - etc = { - "xdg/gtk-4.0/settings.ini".text = toGtk3Ini { - Settings = gtkIni; - }; - "xdg/gtk-3.0/settings.ini".text = toGtk3Ini { - Settings = gtkIni; - }; + environment = { + systemPackages = builtins.attrValues { + inherit + (pkgs) + gruvbox-gtk-theme + papirus-icon-theme + ; + }; + variables = let + cursorSize = 32; + in { + GTK_THEME = "Gruvbox-Dark"; + XCURSOR_THEME = "BreezeX-RosePine-Linux"; + XCURSOR_SIZE = cursorSize; - "xdg/gtk-2.0/gtkrc".text = '' - gtk-cursor-theme-name = BreezeX-RosePine-Linux - gtk-cursor-theme-size = ${toString cursorSize} - gtk-theme-name = ${cfg.theme.name} - gtk-icon-theme-name = ${cfg.iconTheme.name} - gtk-font-name = Lexend 11 - ''; - - "xdg/Xresources".text = '' - Xcursor.size: ${toString cursorSize} - Xcursor.theme: BreezeX-RosePine-Linux - ''; - }; + HYPRCURSOR_THEME = "BreezeX-RosePine-Linux"; + HYPRCURSOR_SIZE = cursorSize; }; }; + }; } diff --git a/modules/style/theming.nix b/modules/style/theming.nix index 11be807..d276442 100644 --- a/modules/style/theming.nix +++ b/modules/style/theming.nix @@ -4,15 +4,67 @@ pkgs, ... }: let + inherit (builtins) toString isBool; + inherit (lib.generators) toINI; inherit (lib.modules) mkMerge mkIf; inherit (lib.options) mkEnableOption; + inherit (lib.strings) escape; + inherit (lib.trivial) boolToString; cfg = config.modules.theming; + + toGtk3Ini = toINI { + mkKeyValue = key: value: let + value' = + if isBool value + then boolToString value + else toString value; + in "${escape ["="] key}=${value'}"; + }; + + gtkIni = { + gtk-application-prefer-dark-theme = 1; + gtk-font-name = "Lexend 11"; + gtk-icon-theme-name = "Papirus-Dark"; + gtk-xft-antialias = 1; + gtk-xft-hinting = 1; + gtk-xft-hintstyle = "hintslight"; + gtk-xft-rgba = "rgb"; + gtk-cursor-theme-name = "BreezeX-RosePine-Linux"; + gtk-theme-name = "Gruvbox-Dark"; + }; in { options.modules.theming = { qt.enable = mkEnableOption "qt theming"; }; - config = - mkMerge [ - ]; + config = mkMerge [ + (mkIf cfg.gtk.enable { + environment = { + systemPackages = builtins.attrValues { + inherit (pkgs) rose-pine-cursor; + }; + etc = { + "xdg/gtk-4.0/settings.ini".text = toGtk3Ini { + Settings = gtkIni; + }; + "xdg/gtk-3.0/settings.ini".text = toGtk3Ini { + Settings = gtkIni; + }; + + "xdg/gtk-2.0/gtkrc".text = '' + gtk-cursor-theme-name = BreezeX-RosePine-Linux + gtk-cursor-theme-size = 32 + gtk-theme-name = Gruvbox-Dark + gtk-icon-theme-name = Papirus-Dark + gtk-font-name = Lexend 11 + ''; + + "xdg/Xresources".text = '' + Xcursor.size: 32 + Xcursor.theme: BreezeX-RosePine-Linux + ''; + }; + }; + }) + ]; } diff --git a/modules/system/boot/module.nix b/modules/system/boot/module.nix index 89b5b43..dbc245b 100644 --- a/modules/system/boot/module.nix +++ b/modules/system/boot/module.nix @@ -35,17 +35,6 @@ in { ]; boot = { tmp.useTmpfs = true; - consoleLogLevel = 0; - - kernelParams = [ - "quiet" - "splash" - "rd.systemd.show_status=false" - "rd.udev.log_level=3" - "udev.log_priority=3" - "boot.shell_on_fail" - ]; - initrd = { verbose = false; systemd.enable = true; diff --git a/modules/system/hardware/bluetooth.nix b/modules/system/hardware/bluetooth.nix index 81a3255..b882011 100644 --- a/modules/system/hardware/bluetooth.nix +++ b/modules/system/hardware/bluetooth.nix @@ -11,7 +11,7 @@ in { config = mkIf cfg.enable { hardware.bluetooth = { enable = true; - inherit (cfg) powerOnBoot; + powerOnBoot = mkIf cfg.powerOnBoot true; }; environment.systemPackages = builtins.attrValues { inherit diff --git a/modules/system/os/networking/module.nix b/modules/system/os/networking/module.nix index 188d4fa..dd7b01c 100644 --- a/modules/system/os/networking/module.nix +++ b/modules/system/os/networking/module.nix @@ -26,16 +26,15 @@ in { services.resolved = { enable = true; dnssec = "false"; - dnsovertls = "oppertunistic"; # quad9 dns fallbackDns = ["9.9.9.9" "2620::fe::fe"]; }; users.users.${username}.extraGroups = ["networkmanager"]; - # systemd = { - # network = { - # enable = true; - # wait-online.anyInterface = true; - # }; - # }; + systemd = { + network = { + enable = true; + wait-online.anyInterface = true; + }; + }; } diff --git a/modules/system/os/networking/networkmanager.nix b/modules/system/os/networking/networkmanager.nix index 174b896..d0c2228 100644 --- a/modules/system/os/networking/networkmanager.nix +++ b/modules/system/os/networking/networkmanager.nix @@ -3,8 +3,8 @@ in { networking.networkmanager = { enable = true; - # # Removes about 2GB of stuff we do no need. - # plugins = mkForce []; + # Removes about 2GB of stuff we do no need. + plugins = mkForce []; dns = "systemd-resolved"; unmanaged = [ diff --git a/modules/wms/wayland/hyprland/decorations.nix b/modules/wms/wayland/hyprland/decorations.nix index 5d75710..fd3a2c5 100644 --- a/modules/wms/wayland/hyprland/decorations.nix +++ b/modules/wms/wayland/hyprland/decorations.nix @@ -2,8 +2,7 @@ _: { programs.hyprland.settings = { #Decoration settings decoration = { - rounding = 10; - rounding_power = 3; + rounding = 0; blur = { enabled = false; size = 3; @@ -17,15 +16,15 @@ _: { ]; # Hyprland anomations, using the above bezier curves animations = { - enabled = true; + enabled = false; + # animation = [ + # "windows, 1, 4, dupa, popin" + # "windowsOut, 1, 4, dupa, slide" + # "border, 1, 15, default" + # "fade, 1, 10, default" + # "workspaces, 1, 5, dupa, slidevert" + # ]; }; - animation = [ - "windows, 1, 4, dupa, popin" - "windowsOut, 1, 4, dupa, slide" - "border, 1, 15, default" - "fade, 1, 10, default" - "workspaces, 1, 5, dupa, slidevert" - ]; cursor = { hide_on_key_press = true; @@ -36,10 +35,8 @@ _: { enable_swallow = true; swallow_regex = "foot"; focus_on_activate = true; - vrr = 1; vfr = true; - animate_manual_resizes = false; animate_mouse_windowdragging = false; force_default_wallpaper = 0; diff --git a/modules/wms/wayland/hyprland/exec.nix b/modules/wms/wayland/hyprland/exec.nix index 52d0298..66d206c 100644 --- a/modules/wms/wayland/hyprland/exec.nix +++ b/modules/wms/wayland/hyprland/exec.nix @@ -5,7 +5,6 @@ ... }: let # inherit (config.modules.style) cursor; - inherit (lib.meta) getExe; in { programs.hyprland.settings = { # Hyprland settings @@ -14,7 +13,6 @@ in { "uwsm finalize" "hyprctl setcursor BreezeX-RosePine-Linux 32" - "hyprctl seterror disable" "[workspace special:keepassxc; silent;tile] ${pkgs.keepassxc}/bin/keepassxc" "[workspace special:audio; silent;tile] ${pkgs.pwvucontrol}/bin/pwvucontrol" @@ -27,7 +25,6 @@ in { "${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent" "hyprctl dispatch split-workspace 1" - "${getExe pkgs.hyprlock}" ]; }; } diff --git a/modules/wms/wayland/hyprland/settings.nix b/modules/wms/wayland/hyprland/settings.nix index 624a0f3..bab7083 100644 --- a/modules/wms/wayland/hyprland/settings.nix +++ b/modules/wms/wayland/hyprland/settings.nix @@ -57,9 +57,6 @@ in { no_border_on_floating = true; }; - # No annoying startup errors - debug.suppress_errors = true; - ecosystem.no_update_news = true; plugin = {