From 5203e0b27ea1d7ecf3f6b6f9c8fa3f6483774984 Mon Sep 17 00:00:00 2001 From: atagen Date: Fri, 19 Sep 2025 11:02:43 +1000 Subject: [PATCH] some shell tweaks, hush --- beam.crt | 25 ++++ common/cli.nix | 2 + common/network.nix | 6 +- flake.lock | 152 +++++++++++-------------- graphical/chat.nix | 2 +- graphical/desktop/niri-config.kdl | 31 ++++- graphical/desktop/quickshell/shell.qml | 43 ++++--- graphical/wm.nix | 6 +- pkgs/hush.nix | 18 +++ 9 files changed, 177 insertions(+), 108 deletions(-) create mode 100644 beam.crt create mode 100644 pkgs/hush.nix diff --git a/beam.crt b/beam.crt new file mode 100644 index 0000000..aa35ec8 --- /dev/null +++ b/beam.crt @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIESzCCArOgAwIBAgIQZX9Vy/qEDy1WwnZdCIa9XzANBgkqhkiG9w0BAQsFADBh +MR4wHAYDVQQKExVta2NlcnQgZGV2ZWxvcG1lbnQgQ0ExGzAZBgNVBAsMEnN1bnNo +aW5lQHJlZmxlY3RvcjEiMCAGA1UEAwwZbWtjZXJ0IHN1bnNoaW5lQHJlZmxlY3Rv +cjAeFw0yNTA5MTYwNTM3MjdaFw0yNzEyMTYwNDM3MjdaMEYxJzAlBgNVBAoTHm1r +Y2VydCBkZXZlbG9wbWVudCBjZXJ0aWZpY2F0ZTEbMBkGA1UECwwSc3Vuc2hpbmVA +cmVmbGVjdG9yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuUAzzURx +itJ9z09xKJNRiEu+aoxUQEdKFkEIMgDN5KnKnebRrd4hpFcxiVX+s5+zkiv84Yns +Pg+Gs/kaEo/cdV+QgH1ymQv1+QWmLlJfLmyWgphXRY9D4Qi9fHOzM5IA872YD69Z +8icN0WxKG5HOdJYPEFECLWTc3KMJid7HOi1NWwkUYTxeHyxqspfbnlkTYkZi7Iiu +sOwooEYn40JM1MHk3lXXA4Xga8RNMXe5zjb1BQIGgmaBhSAHX7Dpofzjou7o6220 +ldgBMLBUHioyp7++ZZEcyBYBxzyzVqmFBiKq3eElxQ64kjDOpa4cpWF5B7yJbPVo +2SIozYxH38roYwIDAQABo4GZMIGWMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAK +BggrBgEFBQcDATAfBgNVHSMEGDAWgBTaLeNon3aXzYidcbPv2NKbZV7q4DBOBgNV +HREERzBFgg5yZWZsZWN0b3IuYmVhbYIQKi5yZWZsZWN0b3IuYmVhbYIJbG9jYWxo +b3N0hwR/AAABhxAAAAAAAAAAAAAAAAAAAAABMA0GCSqGSIb3DQEBCwUAA4IBgQAt +6FLEAX0XFq87Hcjh+iR4fUHf6qop1IEioTTSpCkgO62SAZRP5unEKXiuVH9SjqTV +4K0ik+UoRXCLXJbueQ08EwXgNOv2BG2dppjHJK8pYh1RRBmCn4yTHqJ5Wd/+ID5R +zjNjZwYn9kTo9DGxAaPfIae/dHGBguIK+0f8h/QAhd7oY3E+sTK9ez+5iHz6oQff +1v+K92GL+rE9pHmPjbUtsZ8zUYXo8g+Tc9PJumG5HoWxZV4M2zLg+I+ojpdujMHL +aEM5nS3nv8mrn7BFJTA++BAMUUuiccmbn9ksyWN00sCiyqHvBeaZGAaRSaYiqapw +vevK5dtHSj917xOtJsZ8151MaByWfquUh9VPGMUKNcjkMNxFPuUIj7WueQwqJHXL +ch+wwkckZUMZ7L4IcqAjuqvIPvLPRZiIYsVtrc+uPLvn/QP+EPH8dw/dYTFz9pxO +BRiHwkrLD33UjyRdgtPGpQGdSiUdA+Nd/DdPv51OtdNPaNGRS0suO99dNytNKyE= +-----END CERTIFICATE----- diff --git a/common/cli.nix b/common/cli.nix index 6c574a7..9e4b288 100644 --- a/common/cli.nix +++ b/common/cli.nix @@ -1,5 +1,6 @@ { pkgs, + localPkgs, getPkgs, ... }: @@ -15,6 +16,7 @@ fd ouch ; + inherit (localPkgs) hush; }; user.packages = getPkgs { inherit (pkgs) diff --git a/common/network.nix b/common/network.nix index ffb7274..88daa65 100644 --- a/common/network.nix +++ b/common/network.nix @@ -1 +1,5 @@ -{ lib, scope, ... }: scope "networking.useDHCP" <| lib.mkDefault true +{ lib, ... }: +{ + networking.useDHCP = lib.mkDefault true; + security.pki.certificateFiles = [ ../beam.crt ]; +} diff --git a/flake.lock b/flake.lock index 037660d..480567b 100644 --- a/flake.lock +++ b/flake.lock @@ -18,18 +18,17 @@ }, "angrr": { "inputs": { - "crane": "crane", "flake-compat": "flake-compat", "flake-parts": "flake-parts", "nixpkgs": "nixpkgs", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1756724874, - "narHash": "sha256-Ihd/TzxCU+2KlFWSxdE03mnVsdw5m5la+Pu4mwekWTg=", + "lastModified": 1757693657, + "narHash": "sha256-MpYOH40p8M/uipnK1l/r2+EoFuBkO9fXVjinLQ3OSa4=", "owner": "linyinfeng", "repo": "angrr", - "rev": "cdbef4467651a9b53414ef0aa86be594544d7a4d", + "rev": "301fab01da4b7640452603df7ebc14fb62597757", "type": "github" }, "original": { @@ -53,21 +52,6 @@ "url": "https://git.atagen.co/atagen/arbys" } }, - "crane": { - "locked": { - "lastModified": 1756705356, - "narHash": "sha256-dpBFe8SqYKr7W6KN5QOVCr8N76SBKwTslzjw+4BVBVs=", - "owner": "ipetkov", - "repo": "crane", - "rev": "305707bbc27d83aa1039378e91d7dd816f4cac10", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, "culr": { "inputs": { "nixpkgs": "nixpkgs_2", @@ -195,11 +179,11 @@ ] }, "locked": { - "lastModified": 1754487366, - "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -324,11 +308,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1756821375, - "narHash": "sha256-36z6zq2g1+RAjWdoypR34F1ClRn5Fgy7iTuVV1m19so=", + "lastModified": 1758204752, + "narHash": "sha256-tgblfdzdM3XAzYHHvA9GX9SR2P8NG2IzewmfnRmTUxg=", "owner": "helix-editor", "repo": "helix", - "rev": "68f11f9324e529b678206b84a15b4c9481d0df11", + "rev": "0ae37dc52ba715100893c327414bcb1a1924a4c3", "type": "github" }, "original": { @@ -345,11 +329,11 @@ "smfh": "smfh" }, "locked": { - "lastModified": 1756255328, - "narHash": "sha256-WJ70Dv+tJjIl7mMOqUgcdcz+RrujDRoeKptiU6oh1lI=", + "lastModified": 1757733237, + "narHash": "sha256-q57LxLzOQuW0ROtoBMMPbG8neBYa6LizRH9FVOQkkLQ=", "owner": "feel-co", "repo": "hjem", - "rev": "2426d6ad20e767895e936ed0c9563cc4e2b6c96f", + "rev": "627b34efad55fd42d6dd52c19c796604d2b8e8bd", "type": "github" }, "original": { @@ -412,11 +396,11 @@ ] }, "locked": { - "lastModified": 1756261190, - "narHash": "sha256-eiy0klFK5EVJLNilutR7grsZN/7Itj9DyD75eyOf83k=", + "lastModified": 1757920978, + "narHash": "sha256-Mv16aegXLulgyDunijP6SPFJNm8lSXb2w3Q0X+vZ9TY=", "owner": "nix-community", "repo": "home-manager", - "rev": "77f348da3176dc68b20a73dab94852a417daf361", + "rev": "11cc5449c50e0e5b785be3dfcb88245232633eb8", "type": "github" }, "original": { @@ -453,11 +437,11 @@ ] }, "locked": { - "lastModified": 1756201372, - "narHash": "sha256-bK5j5cwJgO5AZXlDl5AgISzpOv9YV1Fcv2nDr9RW/5o=", + "lastModified": 1757230583, + "narHash": "sha256-4uqu7sFPOaVTCogsxaGMgbzZ2vK40GVGMfUmrvK3/LY=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "9f6745bd704ab7f2617d41c2b02f4fd5f9ed0e89", + "rev": "fc3960e6c32c9d4f95fff2ef84444284d24d3bea", "type": "github" }, "original": { @@ -489,11 +473,11 @@ "unf": "unf" }, "locked": { - "lastModified": 1754885782, - "narHash": "sha256-S+D4ksyKsMRDOA2NyjiPqzUraR+ZAksDDOqKvmAtKbY=", + "lastModified": 1757896194, + "narHash": "sha256-WYNN/J1TtF7Kv6Fe+VlPnwHNIEbgwBZshwNDCm+BulA=", "ref": "refs/heads/master", - "rev": "fafee12becfb49c2f77eb8fb6283050bd2fc04d9", - "revCount": 39, + "rev": "07776960903da8567ea365fde5bdd461ba5b4cc5", + "revCount": 40, "type": "git", "url": "https://git.atagen.co/atagen/meat" }, @@ -574,11 +558,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1756801989, - "narHash": "sha256-eOIQ1CUMHwU4zsBGaCj9jCgNTxzyq2aeHuwgx0xLFwo=", + "lastModified": 1758186479, + "narHash": "sha256-UdC6KXSnt1QfEigiP6TtS3R9TIqPEFJegPoTcjhC4SY=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "d6a98b86d86b512c6167601ea646ab785137bada", + "rev": "b399b939d7b980b52cbd739a7d44f07017c8572e", "type": "github" }, "original": { @@ -628,11 +612,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1756728273, - "narHash": "sha256-7tYNlNO/qVRA6shdWxNuBMYOE+pGgxqE0f54S4Wr9PE=", + "lastModified": 1758183971, + "narHash": "sha256-rZpQqXa9LIwWulScUEHMqtcJqlidx5OfEfEr/iVC+AM=", "owner": "YaLTeR", "repo": "niri", - "rev": "77465e11fe36fdd9bc0a304b96bb2558116568af", + "rev": "d9648e6bde1d2fc4a568dec93ba65c11073192a3", "type": "github" }, "original": { @@ -685,11 +669,11 @@ "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1756612744, - "narHash": "sha256-/glV6VAq8Va3ghIbmhET3S1dzkbZqicsk5h+FtvwiPE=", + "lastModified": 1757822619, + "narHash": "sha256-3HIpe3P2h1AUPYcAH9cjuX0tZOqJpX01c0iDwoUYNZ8=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "3fe768e1f058961095b4a0d7a2ba15dc9736bdc6", + "rev": "050a5feb5d1bb5b6e5fc04a7d3d816923a87c9ea", "type": "github" }, "original": { @@ -753,11 +737,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1757487488, + "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0", "type": "github" }, "original": { @@ -829,11 +813,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1756754095, - "narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=", + "lastModified": 1758070117, + "narHash": "sha256-uLwwHFCZnT1c3N3biVe/0hCkag2GSrf9+M56+Okf+WY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9", + "rev": "e9b7f2ff62b35f711568b1f0866243c7c302028d", "type": "github" }, "original": { @@ -845,11 +829,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1756754095, - "narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=", + "lastModified": 1758070117, + "narHash": "sha256-uLwwHFCZnT1c3N3biVe/0hCkag2GSrf9+M56+Okf+WY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9", + "rev": "e9b7f2ff62b35f711568b1f0866243c7c302028d", "type": "github" }, "original": { @@ -877,11 +861,11 @@ }, "nixpkgs_11": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", "type": "github" }, "original": { @@ -924,11 +908,11 @@ }, "nixpkgs_14": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1758035966, + "narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "8d4ddb19d03c65a36ad8d189d001dc32ffb0306b", "type": "github" }, "original": { @@ -940,11 +924,11 @@ }, "nixpkgs_15": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", - "owner": "NixOS", + "lastModified": 1758029758, + "narHash": "sha256-fKqsvznISxVSBo6aaiGGXMRiBG4IIuV3sSySxx80pcQ=", + "owner": "PedroHLC", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "4eb5897225c3d7e78a0b9d1542197ee7c8d270a5", "type": "github" }, "original": { @@ -1068,11 +1052,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1758035966, + "narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "8d4ddb19d03c65a36ad8d189d001dc32ffb0306b", "type": "github" }, "original": { @@ -1107,11 +1091,11 @@ "rust-overlay": "rust-overlay_4" }, "locked": { - "lastModified": 1756606761, - "narHash": "sha256-lcHMwq0LVcS1mP9o0pq00Von8PsXMsFPPo3ZXGWa7DU=", + "lastModified": 1758033778, + "narHash": "sha256-oQH2wLOWLFHXT3NE+gcsFOX+Pq40bKjlOH1xw0wcmT8=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "9e9e58125b4ba190658235106858f9733b25a1b4", + "rev": "b3efa297b9c6a9e55a44f3b6905d55f80738704f", "type": "github" }, "original": { @@ -1189,11 +1173,11 @@ ] }, "locked": { - "lastModified": 1747622321, - "narHash": "sha256-W0dYIWgsUu6rvOJRtKLhKskkv0VhQhJYGNIq+gGUc8g=", + "lastModified": 1755225702, + "narHash": "sha256-i7Rgs943NqX0RgQW0/l1coi8eWBj3XhxVggMpjjzTsk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "bd030fd9983f7fddf87be1c64aa3064c8afa24c4", + "rev": "4abaeba6b176979be0da0195b9e4ce86bc501ae4", "type": "github" }, "original": { @@ -1233,11 +1217,11 @@ ] }, "locked": { - "lastModified": 1756434910, - "narHash": "sha256-5UJRyxZ8QCm+pgh5pNHXFJMmopMqHVraUhRA1g2AmA0=", + "lastModified": 1757930296, + "narHash": "sha256-Z9u5VszKs8rfEvg2AsFucWEjl7wMtAln9l1b78cfBh4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "86e5140961c91a9ee1dde1c17d18a787d44ceef8", + "rev": "09442765a05c2ca617c20ed68d9613da92a2d96b", "type": "github" }, "original": { @@ -1256,11 +1240,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1749906619, - "narHash": "sha256-/9Ww10kYopxfCNNnNDwENTubs7Wzqlw+O6PJAHNOYQw=", + "lastModified": 1755350122, + "narHash": "sha256-fTmAdnSPmEZlwAMTm/NEl4VibUAo+cerUuby1AYbKMM=", "owner": "feel-co", "repo": "smfh", - "rev": "39f5c06153f63100376bc607b1465850b6df77fd", + "rev": "5de4e315d61a7378f37ebdd39d42b6cf09a1b8cc", "type": "github" }, "original": { @@ -1449,11 +1433,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1756679414, - "narHash": "sha256-yQGJ/n6mRwoIQnaL5oV2TGOHg4SEHpINTaoHrvkjr1Q=", + "lastModified": 1757179758, + "narHash": "sha256-TIvyWzRt1miQj6Cf5Wy8Qz43XIZX7c4vTVwRLAT5S4Y=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "c0497c990d46fcc012d9deff885bbe533e91e044", + "rev": "970728d0d9d1eada342bb8860af214b601139e58", "type": "github" }, "original": { diff --git a/graphical/chat.nix b/graphical/chat.nix index c409a94..bac991c 100644 --- a/graphical/chat.nix +++ b/graphical/chat.nix @@ -1,6 +1,6 @@ { config, pkgs, ... }: { - user.packages = [ pkgs.fluffychat ]; + user.packages = [ pkgs.element-desktop ]; # hm.programs.firefox.webapps = { # "Microsoft-Teams" = { # url = "https://teams.microsoft.com"; diff --git a/graphical/desktop/niri-config.kdl b/graphical/desktop/niri-config.kdl index 4d5f7e1..4aeee39 100755 --- a/graphical/desktop/niri-config.kdl +++ b/graphical/desktop/niri-config.kdl @@ -20,8 +20,9 @@ output "DP-2" { scale 1 transform "normal" variable-refresh-rate on-demand=false + focus-at-startup } -screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" +screenshot-path "~/screenshots/%Y-%m-%d %H-%M-%S.png" prefer-no-csd layout { gaps 64 @@ -54,30 +55,44 @@ cursor { } hotkey-overlay { skip-at-startup; } binds { + Mod+Grave { focus-monitor-next; } + Mod+Shift+Grave { move-column-to-monitor-next; } Mod+1 { spawn "tagctl" "toggle-tag" "1"; } Mod+2 { spawn "tagctl" "toggle-tag" "2"; } Mod+3 { spawn "tagctl" "toggle-tag" "3"; } Mod+4 { spawn "tagctl" "toggle-tag" "4"; } Mod+5 { spawn "tagctl" "toggle-tag" "5"; } Mod+6 { spawn "tagctl" "toggle-tag" "6"; } + Mod+7 { spawn "tagctl" "toggle-tag" "7"; } + Mod+8 { spawn "tagctl" "toggle-tag" "8"; } + Mod+9 { spawn "tagctl" "toggle-tag" "9"; } + Mod+0 { spawn "tagctl" "toggle-tag" "10"; } + Mod+Minus { spawn "tagctl" "toggle-tag" "99"; } + Mod+Equal { spawn "tagctl" "toggle-tag" "101"; } Mod+Ctrl+1 { spawn "tagctl" "exclusive-tag" "1"; } Mod+Ctrl+2 { spawn "tagctl" "exclusive-tag" "2"; } Mod+Ctrl+3 { spawn "tagctl" "exclusive-tag" "3"; } Mod+Ctrl+4 { spawn "tagctl" "exclusive-tag" "4"; } Mod+Ctrl+5 { spawn "tagctl" "exclusive-tag" "5"; } Mod+Ctrl+6 { spawn "tagctl" "exclusive-tag" "6"; } + Mod+Ctrl+7 { spawn "tagctl" "exclusive-tag" "7"; } + Mod+Ctrl+8 { spawn "tagctl" "exclusive-tag" "8"; } + Mod+Ctrl+9 { spawn "tagctl" "exclusive-tag" "9"; } + Mod+Ctrl+0 { spawn "tagctl" "exclusive-tag" "10"; } + Mod+Ctrl+Minus { spawn "tagctl" "exclusive-tag" "99"; } + Mod+Ctrl+Equal { spawn "tagctl" "exclusive-tag" "101"; } Mod+Ctrl+H { move-column-left-or-to-monitor-left; } Mod+Ctrl+J { move-window-down; } Mod+Ctrl+K { move-window-up; } Mod+Ctrl+L { move-column-right-or-to-monitor-right; } Mod+D { spawn "qs" "ipc" "call" "launch" "toggle"; } Mod+E { spawn "caja"; } - Mod+Equal { spawn "bitwarden"; } + // Mod+Equal { spawn "keepassxc"; } Mod+F { spawn "firefox"; } - Mod+H { focus-column-left; } + Mod+H { focus-column-or-monitor-left; } Mod+J { focus-window-down; } Mod+K { focus-window-up; } - Mod+L { focus-column-right; } + Mod+L { focus-column-or-monitor-right; } Mod+R { switch-preset-column-width; } Mod+Return { spawn "foot"; } Mod+Shift+1 { spawn "tagctl" "toggle" "1"; } @@ -86,6 +101,12 @@ binds { Mod+Shift+4 { spawn "tagctl" "toggle" "4"; } Mod+Shift+5 { spawn "tagctl" "toggle" "5"; } Mod+Shift+6 { spawn "tagctl" "toggle" "6"; } + Mod+Shift+7 { spawn "tagctl" "toggle" "7"; } + Mod+Shift+8 { spawn "tagctl" "toggle" "8"; } + Mod+Shift+9 { spawn "tagctl" "toggle" "9"; } + Mod+Shift+0 { spawn "tagctl" "toggle" "10"; } + Mod+Shift+Minus { spawn "tagctl" "toggle" "99"; } + Mod+Shift+Equal { spawn "tagctl" "toggle" "101"; } Mod+Shift+E { spawn "qs" "ipc" "call" "logout" "toggle"; } Mod+Shift+H { consume-or-expel-window-left; } Mod+Shift+L { consume-or-expel-window-right; } @@ -93,6 +114,8 @@ binds { Mod+Shift+R { maximize-column; } Mod+Shift+S { screenshot; } Mod+Space { toggle-window-floating; } + Mod+Shift+Space { switch-focus-between-floating-and-tiling; } + Mod+C { center-window; } XF86AudioLowerVolume { spawn "volumectl" "-u" "down"; } XF86AudioMute { spawn "volumectl" "toggle-mute"; } XF86AudioNext { spawn "playerctl" "next"; } diff --git a/graphical/desktop/quickshell/shell.qml b/graphical/desktop/quickshell/shell.qml index b53bd87..11a36b1 100644 --- a/graphical/desktop/quickshell/shell.qml +++ b/graphical/desktop/quickshell/shell.qml @@ -6,6 +6,7 @@ import "logout" as Logout import "title" import "tags" import "rice" + import Quickshell import Quickshell.Wayland import QtQuick @@ -16,29 +17,37 @@ ShellRoot { // bg Variants { model: Quickshell.screens - delegate: PanelWindow { - id: bg - anchors { - top: true - bottom: true - left: true - right: true - } - exclusionMode: ExclusionMode.Ignore - WlrLayershell.layer: WlrLayer.Bottom + Scope { + property var modelData + PanelWindow { + screen: modelData + id: bg + anchors { + top: true + bottom: true + left: true + right: true + } + exclusionMode: ExclusionMode.Ignore + WlrLayershell.layer: WlrLayer.Bottom - Image { - asynchronous: true - width: bg.width - height: bg.height - source: "assets/pathway-m-rework.png" + Image { + id: img + rotation: (bg.width < bg.height) ? 90 : 0 + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + asynchronous: false + width: (bg.width < bg.height) ? bg.height : bg.width + height: (bg.width < bg.height) ? bg.width : bg.height + source: "assets/pathway-m-rework.png" + } } } } // rhs main Variants { - model: Quickshell.screens + model: Quickshell.screens.filter(screen => screen.name == "DP-2") delegate: PanelWindow { id: bink property var modelData @@ -80,7 +89,7 @@ ShellRoot { // centre main Variants { - model: Quickshell.screens + model: Quickshell.screens.filter(screen => screen.name == "DP-2") delegate: PanelWindow { id: windowTitle property var modelData diff --git a/graphical/wm.nix b/graphical/wm.nix index 358f2d9..0b2a9ed 100644 --- a/graphical/wm.nix +++ b/graphical/wm.nix @@ -8,6 +8,7 @@ let # inherit (config) rice; niri = (getFlakePkg' inputs.niri "niri-unstable"); + xwayland-satellite = (getFlakePkg' inputs.niri "xwayland-satellite-unstable"); in { imports = [ @@ -24,7 +25,10 @@ in source = "/home/${mainUser}/.nix/graphical/desktop/niri-config.kdl"; }; # user.xdg.config.files."niri/config.kdl".source = ./desktop/niri-config.kdl; - user.packages = [ niri ]; + user.packages = [ + niri + xwayland-satellite + ]; services.greetd = { enable = true; restart = false; diff --git a/pkgs/hush.nix b/pkgs/hush.nix new file mode 100644 index 0000000..c80e81f --- /dev/null +++ b/pkgs/hush.nix @@ -0,0 +1,18 @@ +{ + rustPlatform, + fetchFromGitHub, + ... +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "hush"; + version = "0.1.4-git"; + src = fetchFromGitHub { + owner = "hush-shell"; + repo = "hush"; + rev = "560c33a2dc8bf967b4fb0c80e3f18ca8934615ff"; + hash = "sha256-kJ1o236xvNTPiLPWPgpQLLfEAXCGT419UgVWmwVHBYA="; + }; + + doCheck = false; + cargoLock.lockFile = "${finalAttrs.src}/Cargo.lock"; +})