diff --git a/README.md b/README.md index 36d39e6..d2115c4 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ ## Tools -- WM: river + luatile -- Widgets: ags (+ astal for river integration) + rofi (app picker + clipboard history picker) +- WM: niri +- Widgets: astal + rofi (app picker + clipboard history picker) - Lockscreen: hyprlock (+ hypridle for loginctl/auto suspend when locked) - Lots of cli tools - Impermanence (everything except `~/stuff` & `~/projects` is wiped on reboot), `/` is a tmpfs. diff --git a/environments/hyprland/default.nix b/environments/hyprland/default.nix deleted file mode 100644 index 8fcd966..0000000 --- a/environments/hyprland/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - pkgs, - user, - lib, - ... -}: { - imports = [ - ../../modules/wm - ../../modules/gui - ]; - - programs.hyprland = { - enable = true; - withUWSM = true; - }; - - services.greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.greetd.greetd}/bin/agreety --cmd zsh"; - user = "greeter"; - }; - initial_session = { - command = "${lib.getExe pkgs.uwsm} start -S hyprland-uwsm.desktop"; - user = user; - }; - }; - }; - - xdg.portal = { - enable = true; - # gtk portal needed to make gtk apps happy - extraPortals = [pkgs.xdg-desktop-portal-gtk]; - config.common.default = "*"; - }; -} diff --git a/environments/hyprland/home.nix b/environments/hyprland/home.nix deleted file mode 100644 index 08450bf..0000000 --- a/environments/hyprland/home.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - pkgs, - user, - ... -}: { - imports = [ - ../../modules/gui/home.nix - ../../modules/wm/home.nix - ]; - services.hyprpolkitagent.enable = true; - - home.packages = with pkgs; [ - pamixer - brightnessctl - playerctl - hyprpicker - - gnome-control-center - gnome-weather - wdisplays - ]; - - xdg.configFile."hypr/hyprland.conf".source = ./hyprland.conf; - - services.kanshi = { - enable = true; - systemdTarget = "graphical-session.target"; - settings = [ - { - output.criteria = "eDP-1"; - output.scale = 1.6; - } - { - profile.name = "undocked"; - profile.outputs = [ - { - criteria = "eDP-1"; - status = "enable"; - } - ]; - } - { - profile.name = "docked"; - profile.outputs = [ - { - criteria = "eDP-1"; - status = "disable"; - } - { - criteria = "Dell Inc. DELL S2722QC 2HHZH24"; - # position = "1500,0"; - position = "0,900"; - scale = 1.7; - } - { - criteria = "*"; - position = "0,0"; - scale = 1.4; - } - ]; - } - ]; - }; -} diff --git a/environments/hyprland/hyprland.conf b/environments/hyprland/hyprland.conf deleted file mode 100644 index ec4a80b..0000000 --- a/environments/hyprland/hyprland.conf +++ /dev/null @@ -1,160 +0,0 @@ -general { - layout = master - - col.active_border = rgb(94e2d5) - col.inactive_border = rgb(000000) -} - -decoration { - blur { - enabled = false - } - shadow { - enabled = false - } -} - -animations { - enabled = false -} - -input { - kb_layout = us - kb_options = caps:escape_shifted_capslock - numlock_by_default = true94e2d594e2d5 - accel_profile = adaptive - touchpad { - natural_scroll = true - middle_button_emulation = true - clickfinger_behavior = true - drag_lock = true - } -} - -gestures { - workspace_swipe = true -} - -misc { - new_window_takes_over_fullscreen = true - exit_window_retains_fullscreen = true - middle_click_paste = false -} - -binds { - allow_workspace_cycles = true - workspace_back_and_forth = true - movefocus_cycles_fullscreen = true -} - -xwayland { - force_zero_scaling = true -} - -cursor { - warp_on_change_workspace = true - hide_on_key_press = true -} - -master { - allow_small_split = true - new_status = master - new_on_top = true -} - -debug { - disable_scale_checks = true -} - -ecosystem { - no_update_news = true -} - - -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPause, exec, playerctl play-pause -bindl = , XF86AudioMedia, exec, playerctl play-pause -bindl = , XF86AudioPrev, exec, playerctl previous -bindl = , XF86AudioNext, exec, playerctl next -bindle = , XF86AudioRaiseVolume, exec, pamixer -i 5 -bindle = , XF86AudioLowerVolume, exec, pamixer -d 5 -bindl = , XF86AudioMute, exec, pamixer --toggle-mute -bindle = , XF86MonBrightnessUp, exec, brightnessctl s +5% -bindle = , XF86MonBrightnessDown, exec, brightnessctl s 5%- - -bindm = SUPER, mouse:272, movewindow -bindm = SUPER, mouse:273, resizewindow - -bind = Super, c, killactive -bind = Super+Shift, c, forcekillactive - -bind = Super, k, layoutmsg, cycleprev -bind = Super, j, layoutmsg, cyclenext -bind = Super+Shift, k, layoutmsg, swapprev -bind = Super+Shift, j, layoutmsg, swapnext -bind = Super, Return, layoutmsg, swapwithmaster - -bind = Super, h, layoutmsg, mfact -0.05 -bind = Super, l, layoutmsg, mfact +0.05 -bind = Super, u, layoutmsg, removemaster -bind = Super, i, layoutmsg, addmaster - -bind = Super, m, fullscreen, 1 - -bind = Super, f, fullscreen, 0 -bind = Super+Shift, f, togglefloating - -bind = Super, Period, focusmonitor, +1 -bind = Super, Comma, focusmonitor, -1 -bind = Super+Shift, Period, movewindow, mon:+1 silent -bind = Super+Shift, Comma, movewindow, mon:-1 silent - -bind = Super, 1, focusworkspaceoncurrentmonitor, 1 -bind = Super+Shift, 1, movetoworkspacesilent, 1 -bind = Super, 2, focusworkspaceoncurrentmonitor, 2 -bind = Super+Shift, 2, movetoworkspacesilent, 2 -bind = Super, 3, focusworkspaceoncurrentmonitor, 3 -bind = Super+Shift, 3, movetoworkspacesilent, 3 -bind = Super, 4, focusworkspaceoncurrentmonitor, 4 -bind = Super+Shift, 4, movetoworkspacesilent, 4 -bind = Super, 5, focusworkspaceoncurrentmonitor, 5 -bind = Super+Shift, 5, movetoworkspacesilent, 5 -bind = Super, 6, focusworkspaceoncurrentmonitor, 6 -bind = Super+Shift, 6, movetoworkspacesilent, 6 -bind = Super, 7, focusworkspaceoncurrentmonitor, 7 -bind = Super+Shift, 7, movetoworkspacesilent, 7 -bind = Super, 8, focusworkspaceoncurrentmonitor, 8 -bind = Super+Shift, 8, movetoworkspacesilent, 8 -bind = Super, 9, focusworkspaceoncurrentmonitor, 9 -bind = Super+Shift, 9, movetoworkspacesilent, 9 - - -# TODO: use $BROWSER/$TERMINAL -bind = Super, r, exec, uwsm app -- zen -bind = Super, e, exec, uwsm app -- kitty -bind = Super, p, exec, rofi -show drun -show-icons -run-command "uwsm app -- {cmd}" -bind = Super, x, exec, screenshot -bind = Super+Control, x, exec, screenshot-freeze -bind = Super+Shift, x, exec, record -bind = Super, b, exec, hyprpicker | wl-copy -bind = Super, v, exec, cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy -bind = Super+Shift, l, exec, loginctl lock-session - -windowrule = workspace 3 silent, class:discord -windowrule = workspace 3 silent, class:vesktop -windowrule = workspace 2 silent, class:com.github.th_ch.youtube_music - -# smart gaps -workspace = w[tv1], gapsout:0, gapsin:0 -workspace = f[1], gapsout:0, gapsin:0 -windowrule = bordersize 0, floating:0, onworkspace:w[tv1] -windowrule = rounding 0, floating:0, onworkspace:w[tv1] -windowrule = bordersize 0, floating:0, onworkspace:f[1] -windowrule = rounding 0, floating:0, onworkspace:f[1] - -exec-once = wallpaper -exec-once = ags -exec-once = [workspace 4 silent] kitty -exec-once = [workspace 4 silent] zen -exec-once = hyprctl dispatch workspace 4 -exec-once = hyprlock --immediate diff --git a/environments/niri/default.nix b/environments/niri/default.nix index 5dbaf66..836fd94 100644 --- a/environments/niri/default.nix +++ b/environments/niri/default.nix @@ -24,7 +24,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.greetd}/bin/agreety --cmd zsh"; + command = "${pkgs.greetd}/bin/agreety --cmd zsh"; user = "greeter"; }; initial_session = { diff --git a/flake.lock b/flake.lock index b30f67e..3061955 100644 --- a/flake.lock +++ b/flake.lock @@ -19,11 +19,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1754091436, - "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -100,11 +100,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1754416808, + "narHash": "sha256-c6yg0EQ9xVESx6HGDOCMcyRSjaTpNJP10ef+6fRcofA=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "9c52372878df6911f9afc1e2a1391f55e4dfc864", "type": "github" }, "original": { @@ -144,11 +144,11 @@ ] }, "locked": { - "lastModified": 1752595130, - "narHash": "sha256-CNBgr4OZSuklGtNOa9CnTNo9+Xceqn/EDAC1Tc43fH8=", + "lastModified": 1755233722, + "narHash": "sha256-AavrbMltJKcC2Fx0lfJoZfmy7g87ebXU0ddVenhajLA=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "5f2e09654b2e70ba643e41609d9f9b6640f22113", + "rev": "99e03e72e3f7e13506f80ef9ebaedccb929d84d0", "type": "github" }, "original": { @@ -164,11 +164,11 @@ ] }, "locked": { - "lastModified": 1754225444, - "narHash": "sha256-mv01SQtqlhBMavc1dgNjgqJw4WfZxy+w3xBgwJU3YmU=", + "lastModified": 1755397986, + "narHash": "sha256-qwrF5laj6eE3Zht0wKYTmH6QzL7bdOyE2f6jd3WCO8g=", "owner": "nix-community", "repo": "home-manager", - "rev": "0de18bd5c6681280d7ae017fa34ffd91bdcf0557", + "rev": "8b4ac149687e8520187a66f05e9d4eafebf96522", "type": "github" }, "original": { @@ -205,11 +205,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1754255242, - "narHash": "sha256-upKFxktmKdohNMtOAUDgvqQWoeJknPuToO+mIlsEgX4=", + "lastModified": 1755370611, + "narHash": "sha256-cTAH3f3/+biKU5enRIK955Z4G8OOOKs6HAWW1rAAlGk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0c756117aa0efb7c44ac98b4761334236549148b", + "rev": "2a8505f5a1fbb891190b9bc2259e2b0152e38be0", "type": "github" }, "original": { @@ -221,11 +221,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1754177742, - "narHash": "sha256-XdTNh9hDRxahnvIB9m2t/8RovK0qV1NsJ0bw86/nZVM=", + "lastModified": 1755248802, + "narHash": "sha256-n/DCESlXGFQSKF8u+tv99kW67PZgj5LSa+UGN9kOiw4=", "owner": "neovim", "repo": "neovim", - "rev": "93f5bd0caf9037f95ee77288bfd424008bc3a14b", + "rev": "c12701d4e1404a67fef6da01a8a9d7e2d48d78d6", "type": "github" }, "original": { @@ -241,11 +241,11 @@ ] }, "locked": { - "lastModified": 1751313918, - "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=", + "lastModified": 1755275010, + "narHash": "sha256-lEApCoWUEWh0Ifc3k1JdVjpMtFFXeL2gG1qvBnoRc2I=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf", + "rev": "7220b01d679e93ede8d7b25d6f392855b81dd475", "type": "github" }, "original": { @@ -261,11 +261,11 @@ ] }, "locked": { - "lastModified": 1754195341, - "narHash": "sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/+s2SA=", + "lastModified": 1755404379, + "narHash": "sha256-Q6ZxZDBmD/B988Jjbx7/NchxOKIpOKBBrx9Yb0zMzpQ=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "b7fcd4e26d67fca48e77de9b0d0f954b18ae9562", + "rev": "ebbc1c05f786ae39bb5e04e57bf2c10c44a649e3", "type": "github" }, "original": { @@ -276,11 +276,11 @@ }, "nixos-avf": { "locked": { - "lastModified": 1750534406, - "narHash": "sha256-j779gJoRf08Ejoh4/oMrcnSxW/JKyeDJwtSbLZJPNNI=", + "lastModified": 1755349137, + "narHash": "sha256-xwgq0DinLBYKqo/FegSUkh4Pr0oexYfJzv+MMB/Xy4c=", "owner": "nix-community", "repo": "nixos-avf", - "rev": "3084090727dfdce21a733b995facda7b57f50f5e", + "rev": "5615d1f6e268709dfed168dc7c5762a1e612bbd0", "type": "github" }, "original": { @@ -291,11 +291,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1754229794, - "narHash": "sha256-yOl7REX6O/1mh+tpscJPKgjK6nmXSMOB1xhmDNAMUZM=", + "lastModified": 1755330281, + "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "a872d985392ee5b19d8409bfcc3f106de2070070", + "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", "type": "github" }, "original": { @@ -313,11 +313,11 @@ ] }, "locked": { - "lastModified": 1754260137, - "narHash": "sha256-IViMH6Fwj8nwO1nuYCqOTpjm9OK9rQ0w8nmoOwPlo98=", + "lastModified": 1755261305, + "narHash": "sha256-EOqCupB5X5WoGVHVcfOZcqy0SbKWNuY3kq+lj1wHdu8=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "57ba096649fa4e12dc564e8e3c529255baf89b35", + "rev": "203a7b463f307c60026136dd1191d9001c43457f", "type": "github" }, "original": { @@ -328,11 +328,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753939845, - "narHash": "sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1+A4GQej/lBk5y7I=", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "94def634a20494ee057c76998843c015909d6311", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { @@ -359,11 +359,11 @@ "tmux": { "flake": false, "locked": { - "lastModified": 1754046068, - "narHash": "sha256-rtSR4jgOMkHtvagvEjLd+6Vw3GdgJ6UcdPFdK6E/k6o=", + "lastModified": 1754319667, + "narHash": "sha256-V/F16gXadfSoR7kdq5pKXdL7nnqjYuZQl+P8DIZTcGM=", "owner": "tmux", "repo": "tmux", - "rev": "6f9bcb7fee5f5aace29f5c3e474aaa61e8c34bfd", + "rev": "b13005e802df23652e87c98f136f9eb13f096374", "type": "github" }, "original": { @@ -380,11 +380,11 @@ ] }, "locked": { - "lastModified": 1754061284, - "narHash": "sha256-ONcNxdSiPyJ9qavMPJYAXDNBzYobHRxw0WbT38lKbwU=", + "lastModified": 1754847726, + "narHash": "sha256-2vX8QjO5lRsDbNYvN9hVHXLU6oMl+V/PsmIiJREG4rE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "58bd4da459f0a39e506847109a2a5cfceb837796", + "rev": "7d81f6fb2e19bf84f1c65135d1060d829fae2408", "type": "github" }, "original": { @@ -400,11 +400,11 @@ ] }, "locked": { - "lastModified": 1753676490, - "narHash": "sha256-XeifEftxYGP/gzp6O1yO1S1W+MEx4Xvrgeu84ryRPNQ=", + "lastModified": 1754886070, + "narHash": "sha256-MZDmxOkVKL1HY72bliN8Gxh0SYkHUa3W/1fTU2ke36I=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "77024f4557204bb4d526893d42db2e6f50727fab", + "rev": "e37d2b326311320c8571111b3ef89b29d26d4b64", "type": "github" }, "original": {