diff --git a/README.md b/README.md index d7ce3b7..bb16951 100755 --- a/README.md +++ b/README.md @@ -18,11 +18,10 @@ each host should have these files: ## todo - multi architecture configuration ([nix-systems](https://github.com/nix-systems/nix-systems)?) + - divide steam and gamemode? - hidpi option ? mostly auto these days though - better theming for hyprlock, rofi, dunst (accent for hyprlock & dunst, variants for rofi) - some way for border radius, border, tranparency theme options - tags for pip and popups in hyprland config - - make wl-clip-persist and networkmanager applet systemd services? + - make wl-clip-persist, polkit agent, and networkmanager applet systemd services? - gtk cursors are MESSED UP. top priority rn - - niri.. yum - - do lockscreen better somehow diff --git a/assets/lockscreen.jpg b/assets/lockscreen.jpg deleted file mode 100644 index 615e807..0000000 Binary files a/assets/lockscreen.jpg and /dev/null differ diff --git a/assets/lockscreen.png b/assets/lockscreen.png new file mode 100644 index 0000000..c42735e Binary files /dev/null and b/assets/lockscreen.png differ diff --git a/flake.lock b/flake.lock index 927b5ab..9cde65d 100644 --- a/flake.lock +++ b/flake.lock @@ -86,11 +86,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1732722421, - "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -706,11 +706,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1732837521, - "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", "type": "github" }, "original": { @@ -810,11 +810,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1733561910, - "narHash": "sha256-TkyWMLnLd5QhAlfAGtuU3n8Gtl2Gp4+8Ye/rE4hs46A=", + "lastModified": 1721250245, + "narHash": "sha256-/JW3WnRLpfz8j+9Zc9YkK63i8DjHrKwv9PWKIMz3MVI=", "owner": "Alexays", "repo": "Waybar", - "rev": "e959f1d2300c5f7fcc818630c9eae59d834024ce", + "rev": "15e1547661bfc5fe9b3d45bb0d9cea11cf07db7f", "type": "github" }, "original": { diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 6a28625..d18264d 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -53,7 +53,6 @@ swww.enable = true; gnome-keyring.enable = true; - mate-polkit.enable = true; dunst.enable = true; rofi.enable = true; nwg-drawer.enable = true; @@ -77,7 +76,6 @@ system.fish.enable = true; system.syncthing.enable = true; system.flatpak.enable = true; - system.mpv.enable = true; # editors editors.micro.enable = true; editors.vscode.enable = true; @@ -86,11 +84,12 @@ # distractions distractions.discord.enable = true; distractions.discord.vesktop = true; - distractions.gamemode.enable = true; distractions.steam.enable = true; # tools tools.gpg.enable = true; + tools.mpv.enable = true; tools.rbw.enable = true; + tools.noisetorch.enable = true; }; }; } diff --git a/modules/desktop/dunst.nix b/modules/desktop/dunst.nix index 9620440..1bef859 100644 --- a/modules/desktop/dunst.nix +++ b/modules/desktop/dunst.nix @@ -70,17 +70,17 @@ in { }; urgency_low = { - background = "#${base00}FF"; + background = "#${base00}cc"; foreground = "#${base05}"; }; urgency_normal = { - background = "#${base00}FF"; + background = "#${base00}cc"; foreground = "#${base05}"; }; urgency_critical = { - background = "#${base00}FF"; + background = "#${base00}cc"; foreground = "#${base05}"; frame_color = "#${base08}"; # base16 spec says red }; diff --git a/modules/desktop/hypridle.nix b/modules/desktop/hypridle.nix index 49ed686..100ae68 100644 --- a/modules/desktop/hypridle.nix +++ b/modules/desktop/hypridle.nix @@ -15,7 +15,9 @@ in { config = mkIf cfg.enable { hm.home.packages = [ cfg.package ]; - hm.services.hypridle = { + hm.services.hypridle = let + hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl"; + in { enable = true; package = cfg.package; @@ -25,6 +27,7 @@ in { unlock_cmd = "${pkgs.procps}/bin/pkill -USR1 hyprlock"; before_sleep_cmd = "${pkgs.systemd}/bin/loginctl lock-session"; # lock the screen before sleeping + after_sleep_cmd = "${hyprctl} dispatch dpms on"; # turn on the screen to avoid moving mouse/pressing key }; listener = [ @@ -38,6 +41,11 @@ in { on-timeout = "${lib.getExe pkgs.brightnessctl} -d '*:kbd_backlight' -s set 0"; # turn off keyboard backlight, save state on-resume = "${lib.getExe pkgs.brightnessctl} -d '*:kbd_backlight' -r"; # restore previous keyboard backlight state } + { + timeout = 90; # 1.5 min + on-timeout = "${hyprctl} dispatch dpms off"; # turn off screen + on-resume = "${hyprctl} dispatch dpms on"; # turn it back on + } { timeout = 60 * 2; # 2 min on-timeout = "${pkgs.systemd}/bin/loginctl lock-session"; # lock computer @@ -46,13 +54,7 @@ in { timeout = 60 * 15; # 15 min on-timeout = "${pkgs.systemd}/bin/systemctl suspend"; # sleep/suspend } - ] ++ optional config.modules.desktop.hyprland.enable (let - hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl"; - in { - timeout = 90; # 1.5 min - on-timeout = "${hyprctl} dispatch dpms off"; # turn off screen - on-resume = "${hyprctl} dispatch dpms on"; # turn it back on - }); + ]; }; }; }; diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index a6c140a..0ae38ad 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -97,17 +97,14 @@ in { mode="$1" case "$mode" in - screen) + fullscreen) mode="output" ;; area) mode="area" ;; - window) - mode="active" - ;; *) - echo "usage: $0 [screen|area|window]" >&2 + echo "usage: $0 [fullscreen|area]" >&2 exit 2 ;; esac @@ -129,26 +126,17 @@ in { ;; esac ''; - pickerScript = pkgs.writeShellScript "color-picker" '' - ${lib.getExe pkgs.zenity} --color-selection --color $(${lib.getExe pkgs.hyprpicker}) - ''; in [ "$mod, Q, killactive, " "$mod, F, togglefloating, " "$mod, P, pseudo, " # dwindle "$mod, J, togglesplit, " # dwindle - "$mod SHIFT, F, fullscreen, " # move focus with mod + arrow keys "$mod, left, movefocus, l" "$mod, right, movefocus, r" "$mod, up, movefocus, u" "$mod, down, movefocus, d" - # move windows with mod + shift + arrow keys - "$mod SHIFT, left, movewindow, l" - "$mod SHIFT, right, movewindow, r" - "$mod SHIFT, up, movewindow, u" - "$mod SHIFT, down, movewindow, d" # example special workspace (scratchpad) "$mod, grave, togglespecialworkspace, magic" @@ -170,14 +158,9 @@ in { # area ", Print, exec, ${screenshotScript} area" "$mod SHIFT, S, exec, ${screenshotScript} area" - # screen - "CTRL, Print, exec, ${screenshotScript} screen" - "$mod SHIFT CTRL, S, exec, ${screenshotScript} screen" - # window - "ALT, Print, exec, ${screenshotScript} window" - "$mod SHIFT ALT, S, exec, ${screenshotScript} window" - # pick color - "$mod SHIFT, C, exec, ${pickerScript}" + # fullscreen + ", Print, exec, ${screenshotScript} fullscreen" + "$mod SHIFT CTRL, S, exec, ${screenshotScript} fullscreen" ", XF86LaunchA, exec, ${screenshotScript} area" ", XF86LaunchB, exec, ${lib.getExe pkgs.rofi-rbw-wayland} -a copy -t password --clear-after 20" @@ -217,6 +200,7 @@ in { exec-once = [ "${lib.getExe pkgs.networkmanagerapplet}" # network applet + "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" # polkit agent "${lib.getExe pkgs.wl-clip-persist} --clipboard regular" # to fix wl clipboards disappearing ]; @@ -359,10 +343,14 @@ in { }; dwindle = { - pseudotile = "yes"; # master switch for pseudotiling. enabling is mod + P in the keybinds section + pseudotile = "yes"; # master swtich for pseudotiling. enabling is mod + P in the keybinds section preserve_split = "yes"; }; + master = { + new_status = "master"; + }; + gestures = { workspace_swipe = true; workspace_swipe_min_speed_to_force = 0; @@ -370,17 +358,11 @@ in { }; misc = { - # disable default eye candy force_default_wallpaper = 0; disable_splash_rendering = true; disable_hyprland_logo = true; - # there is zero reason to have this enabled - # what were they thinking initial_workspace_tracking = 0; - - vfr = true; - vrr = 2; }; }; }; diff --git a/modules/desktop/hyprlock.nix b/modules/desktop/hyprlock.nix index 39fe9c8..60e4373 100644 --- a/modules/desktop/hyprlock.nix +++ b/modules/desktop/hyprlock.nix @@ -33,7 +33,7 @@ in { }; background = [ { - path = toString ../../assets/lockscreen.jpg; + path = toString ../../assets/lockscreen.png; color = "rgb(${base00})"; blur_passes = 3; blur_size = 6; diff --git a/modules/desktop/mate-polkit.nix b/modules/desktop/mate-polkit.nix deleted file mode 100644 index c677c75..0000000 --- a/modules/desktop/mate-polkit.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, config, pkgs, ... }: - -with lib; -let - cfg = config.modules.desktop.mate-polkit; -in { - options.modules.desktop.mate-polkit = { - enable = mkEnableOption "Enable the MATE desktop environment polkit authentication agent"; - }; - - config = mkIf cfg.enable { - hm.systemd.user.services.mate-polkit = { - Unit = { - Description = "the MATE desktop environment polkit authentication agent"; - After = [ "graphical-session-pre.target" ]; - PartOf = [ "graphical-session.target" ]; - }; - - Install = { - WantedBy = [ "graphical-session.target" ]; - }; - - Service = { - Type = "simple"; - ExecStart = "${pkgs.mate.mate-polkit}/libexec/polkit-mate-authentication-agent-1"; - Restart = "on-failure"; - RestartSec = 5; - }; - }; - }; -} diff --git a/modules/desktop/themes/catppuccin/default.nix b/modules/desktop/themes/catppuccin/default.nix index 1c10baf..e614dd0 100644 --- a/modules/desktop/themes/catppuccin/default.nix +++ b/modules/desktop/themes/catppuccin/default.nix @@ -49,7 +49,7 @@ in { flavor = variant; font = config.modules.desktop.fonts.fonts.sansSerif.family; fontSize = toString config.modules.desktop.fonts.fonts.sansSerif.size; - background = ../../../../assets/lockscreen.jpg; + background = ../../../../assets/lockscreen.png; loginBackground = true; }); }; diff --git a/modules/software/distractions/gamemode.nix b/modules/software/distractions/gamemode.nix deleted file mode 100644 index 93ca2d6..0000000 --- a/modules/software/distractions/gamemode.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ lib, config, pkgs, ... }: - -with lib; -let - cfg = config.modules.software.distractions.gamemode; -in { - options.modules.software.distractions.gamemode = { - enable = mkEnableOption "Enable Gamemode, a program to optimize your system performance on demand"; - }; - - config = mkIf cfg.enable { - # optimize linux system performance on demand - # https://github.com/FeralInteractive/gamemode - user.extraGroups = [ "gamemode" ]; - programs.gamemode = { - enable = true; - enableRenice = true; - settings = { - general = { - softrealtime = "auto"; - renice = 10; - }; - }; - }; - }; -} diff --git a/modules/software/distractions/steam.nix b/modules/software/distractions/steam.nix index c0bacdd..9164f6c 100644 --- a/modules/software/distractions/steam.nix +++ b/modules/software/distractions/steam.nix @@ -11,6 +11,29 @@ in { config = mkIf cfg.enable { programs.steam.enable = true; + # optimize linux system performance on demand + # https://github.com/FeralInteractive/gamemode + user.extraGroups = [ "gamemode" ]; + programs.gamemode = { + enable = true; + enableRenice = true; + settings = { + custom = { + start = "${pkgs.libnotify}/bin/notify-send --app-name GameMode 'GameMode started'"; + end = "${pkgs.libnotify}/bin/notify-send --app-name GameMode 'GameMode ended'"; + }; + }; + }; + + programs.gamescope = { + enable = true; + capSysNice = true; + }; + programs.steam.gamescopeSession = { + enable = true; + args = [ "-W 1920" "-H 1080" "-r 60" "--expose-wayland" "-e" ]; + }; + user.packages = [ pkgs.protontricks pkgs.steam-run ]; }; } diff --git a/modules/software/system/fish.nix b/modules/software/system/fish.nix index 847b9e7..1f033d8 100644 --- a/modules/software/system/fish.nix +++ b/modules/software/system/fish.nix @@ -22,8 +22,8 @@ in { libnotify ]; - programs.fish.enable = true; users.defaultUserShell = pkgs.fish; + programs.fish.enable = true; hm.programs.fish = let colorScript = nix-colors-lib.shellThemeFromScheme { scheme = config.colorScheme; }; in { @@ -33,6 +33,7 @@ in { { name = "grc"; src = grc.src; } { name = "tide"; src = tide.src; } { name = "done"; src = done.src; } + { name = "autopair"; src = autopair.src; } ]; interactiveShellInit = '' diff --git a/modules/software/system/wezterm.nix b/modules/software/system/wezterm.nix index 8a84ee7..6242f3f 100644 --- a/modules/software/system/wezterm.nix +++ b/modules/software/system/wezterm.nix @@ -23,7 +23,6 @@ in { fonts = config.modules.desktop.fonts.fonts; in '' local wezterm = require 'wezterm' - local act = wezterm.action local config = {} @@ -44,29 +43,6 @@ in { font_size = ${toString fonts.sansSerif.size} } - config.mouse_bindings = { - -- Change the default click behavior so that it only selects - -- text and doesn't open hyperlinks - { - event = { Up = { streak = 1, button = 'Left' } }, - mods = 'NONE', - action = act.CompleteSelection 'ClipboardAndPrimarySelection' - }, - -- and make CTRL-Click open hyperlinks - { - event = { Up = { streak = 1, button = 'Left' } }, - mods = 'CTRL', - action = act.OpenLinkAtMouseCursor - }, - -- Disable the 'Down' event of CTRL-Click to avoid weird program behaviors - -- https://wezfurlong.org/wezterm/config/mouse.html#gotcha-on-binding-an-up-event-only - { - event = { Down = { streak = 1, button = 'Left' } }, - mods = 'CTRL', - action = act.Nop - } - } - return config ''; }; diff --git a/modules/software/system/mpv.nix b/modules/software/tools/mpv.nix similarity index 85% rename from modules/software/system/mpv.nix rename to modules/software/tools/mpv.nix index 53bb6b3..ee45fc7 100644 --- a/modules/software/system/mpv.nix +++ b/modules/software/tools/mpv.nix @@ -2,9 +2,9 @@ with lib; let - cfg = config.modules.software.system.mpv; + cfg = config.modules.software.tools.mpv; in { - options.modules.software.system.mpv = { + options.modules.software.tools.mpv = { enable = mkEnableOption "Enable mpv, a lightweight video player"; }; diff --git a/modules/software/tools/noisetorch.nix b/modules/software/tools/noisetorch.nix new file mode 100644 index 0000000..4479532 --- /dev/null +++ b/modules/software/tools/noisetorch.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +with lib; +let + cfg = config.modules.software.tools.noisetorch; +in { + options.modules.software.tools.noisetorch = { + enable = mkEnableOption "Enable noisetorch, a microphone noise supression tool"; + }; + + config = mkIf cfg.enable { + programs.noisetorch.enable = true; + }; +} diff --git a/packages/wallpapers/img/os_prophets.png b/packages/wallpapers/img/os_prophets.png new file mode 100644 index 0000000..60de391 Binary files /dev/null and b/packages/wallpapers/img/os_prophets.png differ diff --git a/packages/wallpapers/img/rw_chimney_canopy.jpg b/packages/wallpapers/img/rw_chimney_canopy.jpg deleted file mode 100644 index 615e807..0000000 Binary files a/packages/wallpapers/img/rw_chimney_canopy.jpg and /dev/null differ diff --git a/packages/wallpapers/img/rw_garbage_wastes.jpg b/packages/wallpapers/img/rw_garbage_wastes.jpg deleted file mode 100644 index 7b61f8d..0000000 Binary files a/packages/wallpapers/img/rw_garbage_wastes.jpg and /dev/null differ