From 60d3c9041fed8344cd53e7de7f8553b300e7eead Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Fri, 7 Mar 2025 12:18:43 -0800 Subject: [PATCH 01/40] hotfix: intel CPU Hardware decoding --- flake.lock | 192 +++++++++++++++++++++++--------- hosts/shiroko/configuration.nix | 60 +++++++++- modules/stylix/default.nix | 2 +- users/kaitotlex/home.nix | 9 +- 4 files changed, 201 insertions(+), 62 deletions(-) diff --git a/flake.lock b/flake.lock index d96e054..4051202 100644 --- a/flake.lock +++ b/flake.lock @@ -70,44 +70,45 @@ "base16-vim": { "flake": false, "locked": { - "lastModified": 1735953590, - "narHash": "sha256-YbQwaApLFJobn/0lbpMKcJ8N5axKlW2QIGkDS5+xoSU=", + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", "owner": "tinted-theming", "repo": "base16-vim", - "rev": "c2a1232aa2c0ed27dcbf005779bcfe0e0ab5e85d", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", "type": "github" }, "original": { "owner": "tinted-theming", "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", "type": "github" } }, "cpu-microcodes": { "flake": false, "locked": { - "lastModified": 1737223256, - "narHash": "sha256-aETUoryCkJSRWlxbgL8im40+2FfOm0u4X9aP5aZueME=", + "lastModified": 1740920267, + "narHash": "sha256-OzItboxMQdjBZGYgggTeUMlKD3u5egpQxs2zLZ+IPmM=", "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "984b766433e99c7e945b5cc17519bb088084b3fd", + "rev": "f22581017de2d0a67b9fb4109ea04b5fda649966", "type": "github" }, "original": { "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "984b766433e99c7e945b5cc17519bb088084b3fd", + "rev": "f22581017de2d0a67b9fb4109ea04b5fda649966", "type": "github" } }, "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1736899990, - "narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=", + "lastModified": 1739223196, + "narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d", + "rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21", "type": "github" }, "original": { @@ -117,7 +118,6 @@ } }, "flake-compat": { - "flake": false, "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -132,19 +132,25 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nur", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, @@ -198,11 +204,11 @@ ] }, "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "type": "github" }, "original": { @@ -257,11 +263,11 @@ ] }, "locked": { - "lastModified": 1737188535, - "narHash": "sha256-O2ttwW1/dUc/Y+Rf48Njtr4tZpRJhy8FhafikekIjMY=", + "lastModified": 1741217763, + "narHash": "sha256-g/TrltIjFHIjtzKY5CJpoPANfHQWDD43G5U1a/v5oVg=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e36429705f9af2d00a517ba46a4f21ef8a8194f", + "rev": "486b066025dccd8af7fbe5dd2cc79e46b88c80da", "type": "github" }, "original": { @@ -278,11 +284,11 @@ ] }, "locked": { - "lastModified": 1736785676, - "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", + "lastModified": 1740347597, + "narHash": "sha256-st5q9egkPGz8TUcVVlIQX7y6G3AzHob+6M963bwVq74=", "owner": "nix-community", "repo": "home-manager", - "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", + "rev": "12e26a74e5eb1a31e13daaa08858689e25ebd449", "type": "github" }, "original": { @@ -308,11 +314,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737062831, - "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", + "lastModified": 1741246872, + "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", + "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", "type": "github" }, "original": { @@ -332,11 +338,11 @@ "plugins-pomo-nvim": "plugins-pomo-nvim" }, "locked": { - "lastModified": 1737164379, - "narHash": "sha256-/lERZhJCq+eXPUENu0a8MwVbO8CMMn2ooej3l3+jc1U=", + "lastModified": 1741330840, + "narHash": "sha256-wFdRuxHa2S+ThnISL/YRfNgHMgRH/4xCWxVzgYGDUS8=", "owner": "kaitotlex", "repo": "vix1", - "rev": "30506bcd245c0d44d8cfcda446ff7abb2b12ae1f", + "rev": "32526e16993656421d44d14222b559ca80849c96", "type": "github" }, "original": { @@ -345,6 +351,29 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "stylix", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1740408283, + "narHash": "sha256-2xECnhgF3MU9YjmvOkrRp8wRFo2OjjewgCtlfckhL5s=", + "owner": "nix-community", + "repo": "NUR", + "rev": "496a4a11162bdffb9a7b258942de138873f019f7", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "plugins-blink-ripgrep": { "flake": false, "locked": { @@ -392,17 +421,17 @@ }, "spicetify": { "inputs": { - "flake-compat": "flake-compat", "nixpkgs": [ "nixpkgs" - ] + ], + "systems": "systems" }, "locked": { - "lastModified": 1737173687, - "narHash": "sha256-+WxaXc30KhTuCa9U8Nv2mJApIBq85CfA5fbcVsvdfxo=", + "lastModified": 1740889006, + "narHash": "sha256-A1iyKVvZrLdLwqWPC9OvPjC85ADQn2R1EGfCzJBl+wI=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "c68c2ac0814ab386d2cbd3b9178e729b4fc805f0", + "rev": "f8d3757d4ae3af2175a631fb9598a42d30ee75fc", "type": "github" }, "original": { @@ -418,7 +447,7 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat", "flake-utils": "flake-utils", "git-hooks": "git-hooks", "gnome-shell": "gnome-shell", @@ -426,18 +455,20 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems", + "nur": "nur", + "systems": "systems_2", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", "tinted-tmux": "tinted-tmux", "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1737207873, - "narHash": "sha256-XTCuMv753lpm8DvdVf9q2mH3rhlfsKrCUYbaADPC/bA=", + "lastModified": 1741112087, + "narHash": "sha256-dBGwN4aHmX2QUXolZDhV+p06+WM5ZykL4wd9BD6bT7k=", "owner": "danth", "repo": "stylix", - "rev": "51ad2cec11e773a949bdbec88bed2524f098f49a", + "rev": "11780517948f214b9f93d1bf5a2d29bc181d3a33", "type": "github" }, "original": { @@ -461,6 +492,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -495,14 +541,30 @@ "type": "github" } }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1740351358, + "narHash": "sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "a1bc2bd89e693e7e3f5764cfe8114e2ae150e184", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1735737224, - "narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=", + "lastModified": 1740272597, + "narHash": "sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64", + "rev": "b6c7f46c8718cc484f2db8b485b06e2a98304cd0", "type": "github" }, "original": { @@ -527,16 +589,38 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "ucodenix": { "inputs": { "cpu-microcodes": "cpu-microcodes" }, "locked": { - "lastModified": 1737386190, - "narHash": "sha256-r9UOn9nMqDjY+ohnNCKs8SgN55UXTPI+RWhka2RcsXY=", + "lastModified": 1741024244, + "narHash": "sha256-nuyOvpKTqpE0dQjqtm17C/QEXhIXUpsmosuzDhSAe/c=", "owner": "e-tho", "repo": "ucodenix", - "rev": "4c7931fcf713c4ddf730d275f07d916c5f4c4e7a", + "rev": "2fb0f8ad462f3233ef91b471ee6f1f7c2689a4f9", "type": "github" }, "original": { @@ -568,11 +652,11 @@ ] }, "locked": { - "lastModified": 1737173095, - "narHash": "sha256-32xX3cAIQovRNtW5cHirLvSC87uoOfLcaYGUOrTyhx4=", + "lastModified": 1740729275, + "narHash": "sha256-/0dJi65+7oBpfEYWrg4jihkEzAf975TVeOk+FpxaW6o=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "e91b2aa537c1492efd1c5f35f1f204c685e461ab", + "rev": "17bd241d6a5692848b01737f595824a707de855a", "type": "github" }, "original": { diff --git a/hosts/shiroko/configuration.nix b/hosts/shiroko/configuration.nix index 328aab5..b3ab013 100644 --- a/hosts/shiroko/configuration.nix +++ b/hosts/shiroko/configuration.nix @@ -13,13 +13,26 @@ ]; services.fprintd.enable = true; security.pam.services.login.fprintAuth = true; + hardware.graphics.extraPackages = with pkgs; [ vaapiIntel intel-media-driver ]; + hardware.opengl = { + enable = true; + extraPackages = with pkgs; [ + # your Open GL, Vulkan and VAAPI drivers + vpl-gpu-rt # for newer GPUs on NixOS >24.05 or unstable + # onevpl-intel-gpu # for newer GPUs on NixOS <= 24.05 + # intel-media-sdk # for older GPUs + ]; + }; hardware = { graphics.enable32Bit = true; pulseaudio.support32Bit = true; openrazer.enable = true; }; - + virtualisation.podman = { + enable = true; + dockerCompat = true; + }; boot = { # Bootloader. loader.systemd-boot.enable = true; @@ -113,6 +126,7 @@ }; environment.systemPackages = with pkgs; [ openrazer-daemon + distrobox ]; # Set your time zone. time.timeZone = "America/Los_Angeles"; # Asia/Taipei lib.mkDefault @@ -135,7 +149,47 @@ }; }; # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; + +networking.firewall = { + allowedUDPPorts = [ 51820 ]; # Clients and peers can use the same port, see listenport + }; + # Enable WireGuard + # networking.wireguard.interfaces = { + # # "wg0" is the network interface name. You can name the interface arbitrarily. + # wg0 = { + # # Determines the IP address and subnet of the client's end of the tunnel interface. + # ips = [ "10.100.0.2/24" ]; + # listenPort = 51820; # to match firewall allowedUDPPorts (without this wg uses random port numbers) + # + # # Path to the private key file. + # # + # # Note: The private key can also be included inline via the privateKey option, + # # but this makes the private key world-readable; thus, using privateKeyFile is + # # recommended. + # privateKeyFile = "path to private key file"; + # + # peers = [ + # # For a client configuration, one peer entry for the server will suffice. + # + # { + # # Public key of the server (not a file path). + # publicKey = "{server public key}"; + # + # # Forward all the traffic via VPN. + # allowedIPs = [ "0.0.0.0/0" ]; + # # Or forward only particular subnets + # #allowedIPs = [ "10.100.0.1" "91.108.12.0/22" ]; + # + # # Set this to the server IP and port. + # endpoint = "{server ip}:51820"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577 + # + # # Send keepalives every 25 seconds. Important to keep NAT tables alive. + # persistentKeepalive = 25; + # } + # ]; + # }; + # }; +i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; @@ -148,7 +202,7 @@ LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; - + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/modules/stylix/default.nix b/modules/stylix/default.nix index 4c5fa61..802ccb8 100644 --- a/modules/stylix/default.nix +++ b/modules/stylix/default.nix @@ -6,7 +6,7 @@ stylix = { enable = true; - image = "${inputs.wallpapers}/vtubers/nordMachi-resized.png"; + image = "${inputs.wallpapers}/math/fastInversNord.png"; polarity = "dark"; base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml"; diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index e13837c..87deeef 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -22,6 +22,9 @@ home.packages = with pkgs; [ # here is some command line tools I use frequently # feel free to add your own or remove some of them + gfortran + affine-bin + elmPackages.elm kicad android-tools wacomtablet @@ -80,7 +83,6 @@ sl piper nwg-displays - dolphin xfce.thunar tailwindcss @@ -166,7 +168,6 @@ texlivePackages.csquotes texlivePackages.csquotes-de texlivePackages.collection-latexextra - texpresso btop # replacement of htop/nmon iotop # io monitoring @@ -200,7 +201,7 @@ netcat nmap metasploit - john + #john lynis hydra-cli #ghidra @@ -230,7 +231,7 @@ userEmail = "wlin@kaitotlex.systems"; signing = { signByDefault = true; - key = "2AE6771F14386F9B85E48685A9209668BFA39C0E"; + key = "BC04C0C14AEDA705B8FBACE8C5F52A3C0F3B4A77"; }; }; From 886988087485e1aa35fd4fc2a9f39f5492b8493c Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Sat, 26 Apr 2025 22:13:25 -0700 Subject: [PATCH 02/40] added configs --- flake.lock | 62 ++++++++++++++++++++-------------------- users/kaitotlex/home.nix | 16 +++++++---- 2 files changed, 41 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index 4051202..9ae79c2 100644 --- a/flake.lock +++ b/flake.lock @@ -87,17 +87,17 @@ "cpu-microcodes": { "flake": false, "locked": { - "lastModified": 1740920267, - "narHash": "sha256-OzItboxMQdjBZGYgggTeUMlKD3u5egpQxs2zLZ+IPmM=", + "lastModified": 1741558119, + "narHash": "sha256-bZfqV9kzuMnzpgQfiXRRtYy/rgtSmaRzGG/v42Tzczc=", "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "f22581017de2d0a67b9fb4109ea04b5fda649966", + "rev": "6f9895d708ee55588cfed9ec66f470eb3c05fb7c", "type": "github" }, "original": { "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "f22581017de2d0a67b9fb4109ea04b5fda649966", + "rev": "6f9895d708ee55588cfed9ec66f470eb3c05fb7c", "type": "github" } }, @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1741217763, - "narHash": "sha256-g/TrltIjFHIjtzKY5CJpoPANfHQWDD43G5U1a/v5oVg=", + "lastModified": 1741635347, + "narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=", "owner": "nix-community", "repo": "home-manager", - "rev": "486b066025dccd8af7fbe5dd2cc79e46b88c80da", + "rev": "7fb8678716c158642ac42f9ff7a18c0800fea551", "type": "github" }, "original": { @@ -299,11 +299,11 @@ }, "nixCats": { "locked": { - "lastModified": 1735318798, - "narHash": "sha256-x1hq2uimNBQtYtkaJ4KODKQmdbAYvnd1hoxRyyPekWE=", + "lastModified": 1741608660, + "narHash": "sha256-qikkAmt+z7fN2Zq6lU54x5nZ1KlE97wVAwaJk+/1PkI=", "owner": "BirdeeHub", "repo": "nixCats-nvim", - "rev": "58a8782879f926192b06b95f75538618456062ae", + "rev": "ad8d22d086cfb7a1cb0e9fda1fb871bbe370c942", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741246872, - "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", "type": "github" }, "original": { @@ -338,11 +338,11 @@ "plugins-pomo-nvim": "plugins-pomo-nvim" }, "locked": { - "lastModified": 1741330840, - "narHash": "sha256-wFdRuxHa2S+ThnISL/YRfNgHMgRH/4xCWxVzgYGDUS8=", + "lastModified": 1741660851, + "narHash": "sha256-kFlDqMvo0gNu3xJ9PDXhF21vPv18/NiuhjHr+yoxJp4=", "owner": "kaitotlex", "repo": "vix1", - "rev": "32526e16993656421d44d14222b559ca80849c96", + "rev": "879bcb9e209dfac74e5e86e1a0066c952edee140", "type": "github" }, "original": { @@ -377,11 +377,11 @@ "plugins-blink-ripgrep": { "flake": false, "locked": { - "lastModified": 1735411615, - "narHash": "sha256-V3Tf8bPpO7KjP/AwcgYjMZdTejydvBx/t33H3+wsNLo=", + "lastModified": 1741415505, + "narHash": "sha256-lEt5AUSyezmlthSj3KUHJ9cX4pQnB2/31j8bklIp5Mk=", "owner": "mikavilpas", "repo": "blink-ripgrep.nvim", - "rev": "f4d9460a3552c735c7835a545ce32125610c1ce5", + "rev": "91aee73557237b0cc1313e4ed2b32f10de6cc65e", "type": "github" }, "original": { @@ -427,11 +427,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1740889006, - "narHash": "sha256-A1iyKVvZrLdLwqWPC9OvPjC85ADQn2R1EGfCzJBl+wI=", + "lastModified": 1741493656, + "narHash": "sha256-1M2mf5pZTlhZXkSI8wKs9GfNb1hllND58zQUYSAe8EA=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "f8d3757d4ae3af2175a631fb9598a42d30ee75fc", + "rev": "a06e502c884307c33dbdf2017fd50ab3592ad868", "type": "github" }, "original": { @@ -464,11 +464,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1741112087, - "narHash": "sha256-dBGwN4aHmX2QUXolZDhV+p06+WM5ZykL4wd9BD6bT7k=", + "lastModified": 1741635390, + "narHash": "sha256-wuYjYWjePERWKmr/8TZ7rRnYPjOTVMRouiT6gOxH8WM=", "owner": "danth", "repo": "stylix", - "rev": "11780517948f214b9f93d1bf5a2d29bc181d3a33", + "rev": "6b5afdbb3e9e06de68d7c44dfe78a1359d422a45", "type": "github" }, "original": { @@ -616,11 +616,11 @@ "cpu-microcodes": "cpu-microcodes" }, "locked": { - "lastModified": 1741024244, - "narHash": "sha256-nuyOvpKTqpE0dQjqtm17C/QEXhIXUpsmosuzDhSAe/c=", + "lastModified": 1741610329, + "narHash": "sha256-QzNd/La5KSgP+GtjlzRZDGGbs7kkzzz+DapqXcPMyvk=", "owner": "e-tho", "repo": "ucodenix", - "rev": "2fb0f8ad462f3233ef91b471ee6f1f7c2689a4f9", + "rev": "84d7cf2437026e0623a3040a276731871a6af03f", "type": "github" }, "original": { @@ -652,11 +652,11 @@ ] }, "locked": { - "lastModified": 1740729275, - "narHash": "sha256-/0dJi65+7oBpfEYWrg4jihkEzAf975TVeOk+FpxaW6o=", + "lastModified": 1741493092, + "narHash": "sha256-jShBVqU8K5rN8xtsq2JDgq+KInRw3pDbp8SViMIz5pE=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "17bd241d6a5692848b01737f595824a707de855a", + "rev": "117945c4162d78f2cc7ad578cf44edbbf1ee33fb", "type": "github" }, "original": { diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 87deeef..79cf463 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -22,7 +22,11 @@ home.packages = with pkgs; [ # here is some command line tools I use frequently # feel free to add your own or remove some of them - gfortran + #gfortran14 + python312Packages.pip + pipx + rpcs3 + dolphin-emu affine-bin elmPackages.elm kicad @@ -147,7 +151,7 @@ # productivity glow # markdown previewer in terminal obsidian # markdown previewer - thunderbird-unwrapped # Full Feature Email Client + #thunderbird-unwrapped # Full Feature Email Client #sway Modules swaybg @@ -266,10 +270,10 @@ }; }; - programs.firefox = { - enable = true; - package = pkgs.firefox-devedition; - }; + # programs.firefox = { + # enable = true; + # package = pkgs.firefox-devedition; + # }; programs.ripgrep.enable = true; programs.oh-my-posh = { From 02701608a51328b3545ca190c55756826225a14c Mon Sep 17 00:00:00 2001 From: Kaito T Lex Date: Sun, 27 Apr 2025 00:27:08 -0700 Subject: [PATCH 03/40] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/7fb8678716c158642ac42f9ff7a18c0800fea551?narHash=sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU%3D' (2025-03-10) → 'github:nix-community/home-manager/2f5819a962489e037a57835f63ed6ff8dbc2d5fb?narHash=sha256-KgaGPlmjJItZ%2BXf8mSoRmrsso%2Bsf3K54n9oIP9Q17LY%3D' (2025-04-26) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/e3e32b642a31e6714ec1b712de8c91a3352ce7e1?narHash=sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk%3D' (2025-03-09) → 'github:nixos/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b?narHash=sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA%3D' (2025-04-24) • Updated input 'spicetify': 'github:Gerg-L/spicetify-nix/a06e502c884307c33dbdf2017fd50ab3592ad868?narHash=sha256-1M2mf5pZTlhZXkSI8wKs9GfNb1hllND58zQUYSAe8EA%3D' (2025-03-09) → 'github:Gerg-L/spicetify-nix/9e5c7a2e7f1ab3118ec9b7179eb28667a3575f0e?narHash=sha256-YW/V93WgJur6a3BVa1jynlKr2pyZlEpiXXjQjpSHc5s%3D' (2025-04-27) • Updated input 'stylix': 'github:danth/stylix/6b5afdbb3e9e06de68d7c44dfe78a1359d422a45?narHash=sha256-wuYjYWjePERWKmr/8TZ7rRnYPjOTVMRouiT6gOxH8WM%3D' (2025-03-10) → 'github:danth/stylix/11ceb2fde1901dc227421bbbef2d0800339f5126?narHash=sha256-WGKSI0%2BCY3Ep2YnRASmBRU8oMIvTW4ngFyjA0dVcKgQ%3D' (2025-04-25) • Updated input 'stylix/base16': 'github:SenchoPens/base16.nix/153d52373b0fb2d343592871009a286ec8837aec?narHash=sha256-%2BR1BH5wHhfnycySb7Sy5KbYEaTJZWm1h%2BLW1OtyhiTs%3D' (2024-11-21) → 'github:SenchoPens/base16.nix/58bfe2553d937d8af0564f79d5b950afbef69717?narHash=sha256-EAYWV%2BkXbwsH%2B8G/8UtmcunDeKwLwSOyfcmzZUkWE/c%3D' (2025-04-24) • Updated input 'stylix/firefox-gnome-theme': 'github:rafaelmardojai/firefox-gnome-theme/a89108e6272426f4eddd93ba17d0ea101c34fb21?narHash=sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz%2Be/655w%3D' (2025-02-10) → 'github:rafaelmardojai/firefox-gnome-theme/59e3de00f01e5adb851d824cf7911bd90c31083a?narHash=sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4%3D' (2025-04-14) • Updated input 'stylix/git-hooks': 'github:cachix/git-hooks.nix/9364dc02281ce2d37a1f55b6e51f7c0f65a75f17?narHash=sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg%3D' (2025-01-21) → 'github:cachix/git-hooks.nix/dcf5072734cb576d2b0c59b2ac44f5050b5eac82?narHash=sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco%3D' (2025-03-22) • Updated input 'stylix/home-manager': 'github:nix-community/home-manager/12e26a74e5eb1a31e13daaa08858689e25ebd449?narHash=sha256-st5q9egkPGz8TUcVVlIQX7y6G3AzHob%2B6M963bwVq74%3D' (2025-02-23) → 'github:nix-community/home-manager/d31710fb2cd536b1966fee2af74e99a0816a61a8?narHash=sha256-TwbdiH28QK7Da2JQTqFHdb%2BUCJq6QbF2mtf%2BRxHVzEA%3D' (2025-04-23) • Updated input 'stylix/nur': 'github:nix-community/NUR/496a4a11162bdffb9a7b258942de138873f019f7?narHash=sha256-2xECnhgF3MU9YjmvOkrRp8wRFo2OjjewgCtlfckhL5s%3D' (2025-02-24) → 'github:nix-community/NUR/dbc4ba3233b2bf951521177bf0ee0a7679959035?narHash=sha256-bWqgohVf/py9EW3bLS/dYbenD2p9N2/Qsw1%2BCJk1S04%3D' (2025-04-24) • Updated input 'stylix/tinted-schemes': 'github:tinted-theming/schemes/a1bc2bd89e693e7e3f5764cfe8114e2ae150e184?narHash=sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA%3D' (2025-02-23) → 'github:tinted-theming/schemes/28c26a621123ad4ebd5bbfb34ab39421c0144bdd?narHash=sha256-Fg%2BrdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY%3D' (2025-04-18) • Updated input 'stylix/tinted-tmux': 'github:tinted-theming/tinted-tmux/b6c7f46c8718cc484f2db8b485b06e2a98304cd0?narHash=sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ%3D' (2025-02-23) → 'github:tinted-theming/tinted-tmux/e009f18a01182b63559fb28f1c786eb027c3dee9?narHash=sha256-udV%2BnHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w%3D' (2025-04-20) • Updated input 'ucodenix': 'github:e-tho/ucodenix/84d7cf2437026e0623a3040a276731871a6af03f?narHash=sha256-QzNd/La5KSgP%2BGtjlzRZDGGbs7kkzzz%2BDapqXcPMyvk%3D' (2025-03-10) → 'github:e-tho/ucodenix/b26e195f4272306f6bd30445bb73657449a1f574?narHash=sha256-xRbcLC6AVjB8etaw1T9MEywqjuRWeZZu5Ee8RU3q4R0%3D' (2025-04-14) • Updated input 'ucodenix/cpu-microcodes': 'github:platomav/CPUMicrocodes/6f9895d708ee55588cfed9ec66f470eb3c05fb7c?narHash=sha256-bZfqV9kzuMnzpgQfiXRRtYy/rgtSmaRzGG/v42Tzczc%3D' (2025-03-09) → 'github:platomav/CPUMicrocodes/58897a4b77be3ebb17ee41c12002cd986d3da6ed?narHash=sha256-0WgBGViIPozInkjUZSUKyndN9ldZGtCKlUiiw8VAK3o%3D' (2025-04-13) • Updated input 'wallpapers': 'github:kaitotlex/wallpaper/101647127869f5e91a569281fd181172b692b365?narHash=sha256-eLf45K7NvBas7bC5hO5KfpFdy3pzCoQEaW%2BDNZIFQhs%3D' (2025-01-18) → 'github:kaitotlex/wallpaper/f49c027edde33735beae02580b4a2a9b88cc7b04?narHash=sha256-3OEwa3lw5QIgu3tyiTGTkqacsMZ6Ae6zmg8qg3rsc1Y%3D' (2025-03-17) • Updated input 'zen': 'github:youwen5/zen-browser-flake/117945c4162d78f2cc7ad578cf44edbbf1ee33fb?narHash=sha256-jShBVqU8K5rN8xtsq2JDgq%2BKInRw3pDbp8SViMIz5pE%3D' (2025-03-09) → 'github:youwen5/zen-browser-flake/02084a38e9dbc4fa17f3474c3e9d43bb7db55799?narHash=sha256-8X9JuDfxAEQlBhB0ARgFj9fbDOlCvPx6AbQ1h2T47/g%3D' (2025-04-20) --- flake.lock | 92 +++++++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/flake.lock b/flake.lock index 9ae79c2..b3be713 100644 --- a/flake.lock +++ b/flake.lock @@ -22,11 +22,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1732200724, - "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", + "lastModified": 1745523430, + "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "153d52373b0fb2d343592871009a286ec8837aec", + "rev": "58bfe2553d937d8af0564f79d5b950afbef69717", "type": "github" }, "original": { @@ -87,28 +87,28 @@ "cpu-microcodes": { "flake": false, "locked": { - "lastModified": 1741558119, - "narHash": "sha256-bZfqV9kzuMnzpgQfiXRRtYy/rgtSmaRzGG/v42Tzczc=", + "lastModified": 1744580596, + "narHash": "sha256-0WgBGViIPozInkjUZSUKyndN9ldZGtCKlUiiw8VAK3o=", "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "6f9895d708ee55588cfed9ec66f470eb3c05fb7c", + "rev": "58897a4b77be3ebb17ee41c12002cd986d3da6ed", "type": "github" }, "original": { "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "6f9895d708ee55588cfed9ec66f470eb3c05fb7c", + "rev": "58897a4b77be3ebb17ee41c12002cd986d3da6ed", "type": "github" } }, "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1739223196, - "narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=", + "lastModified": 1744642301, + "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21", + "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a", "type": "github" }, "original": { @@ -204,11 +204,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", "type": "github" }, "original": { @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1741635347, - "narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=", + "lastModified": 1745703610, + "narHash": "sha256-KgaGPlmjJItZ+Xf8mSoRmrsso+sf3K54n9oIP9Q17LY=", "owner": "nix-community", "repo": "home-manager", - "rev": "7fb8678716c158642ac42f9ff7a18c0800fea551", + "rev": "2f5819a962489e037a57835f63ed6ff8dbc2d5fb", "type": "github" }, "original": { @@ -284,11 +284,11 @@ ] }, "locked": { - "lastModified": 1740347597, - "narHash": "sha256-st5q9egkPGz8TUcVVlIQX7y6G3AzHob+6M963bwVq74=", + "lastModified": 1745439012, + "narHash": "sha256-TwbdiH28QK7Da2JQTqFHdb+UCJq6QbF2mtf+RxHVzEA=", "owner": "nix-community", "repo": "home-manager", - "rev": "12e26a74e5eb1a31e13daaa08858689e25ebd449", + "rev": "d31710fb2cd536b1966fee2af74e99a0816a61a8", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741513245, - "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", + "lastModified": 1745526057, + "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", + "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", "type": "github" }, "original": { @@ -361,11 +361,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1740408283, - "narHash": "sha256-2xECnhgF3MU9YjmvOkrRp8wRFo2OjjewgCtlfckhL5s=", + "lastModified": 1745459908, + "narHash": "sha256-bWqgohVf/py9EW3bLS/dYbenD2p9N2/Qsw1+CJk1S04=", "owner": "nix-community", "repo": "NUR", - "rev": "496a4a11162bdffb9a7b258942de138873f019f7", + "rev": "dbc4ba3233b2bf951521177bf0ee0a7679959035", "type": "github" }, "original": { @@ -427,11 +427,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1741493656, - "narHash": "sha256-1M2mf5pZTlhZXkSI8wKs9GfNb1hllND58zQUYSAe8EA=", + "lastModified": 1745727291, + "narHash": "sha256-YW/V93WgJur6a3BVa1jynlKr2pyZlEpiXXjQjpSHc5s=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "a06e502c884307c33dbdf2017fd50ab3592ad868", + "rev": "9e5c7a2e7f1ab3118ec9b7179eb28667a3575f0e", "type": "github" }, "original": { @@ -464,11 +464,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1741635390, - "narHash": "sha256-wuYjYWjePERWKmr/8TZ7rRnYPjOTVMRouiT6gOxH8WM=", + "lastModified": 1745618823, + "narHash": "sha256-WGKSI0+CY3Ep2YnRASmBRU8oMIvTW4ngFyjA0dVcKgQ=", "owner": "danth", "repo": "stylix", - "rev": "6b5afdbb3e9e06de68d7c44dfe78a1359d422a45", + "rev": "11ceb2fde1901dc227421bbbef2d0800339f5126", "type": "github" }, "original": { @@ -544,11 +544,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1740351358, - "narHash": "sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA=", + "lastModified": 1744974599, + "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=", "owner": "tinted-theming", "repo": "schemes", - "rev": "a1bc2bd89e693e7e3f5764cfe8114e2ae150e184", + "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd", "type": "github" }, "original": { @@ -560,11 +560,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1740272597, - "narHash": "sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ=", + "lastModified": 1745111349, + "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "b6c7f46c8718cc484f2db8b485b06e2a98304cd0", + "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9", "type": "github" }, "original": { @@ -616,11 +616,11 @@ "cpu-microcodes": "cpu-microcodes" }, "locked": { - "lastModified": 1741610329, - "narHash": "sha256-QzNd/La5KSgP+GtjlzRZDGGbs7kkzzz+DapqXcPMyvk=", + "lastModified": 1744630518, + "narHash": "sha256-xRbcLC6AVjB8etaw1T9MEywqjuRWeZZu5Ee8RU3q4R0=", "owner": "e-tho", "repo": "ucodenix", - "rev": "84d7cf2437026e0623a3040a276731871a6af03f", + "rev": "b26e195f4272306f6bd30445bb73657449a1f574", "type": "github" }, "original": { @@ -632,11 +632,11 @@ "wallpapers": { "flake": false, "locked": { - "lastModified": 1737220047, - "narHash": "sha256-eLf45K7NvBas7bC5hO5KfpFdy3pzCoQEaW+DNZIFQhs=", + "lastModified": 1742250162, + "narHash": "sha256-3OEwa3lw5QIgu3tyiTGTkqacsMZ6Ae6zmg8qg3rsc1Y=", "owner": "kaitotlex", "repo": "wallpaper", - "rev": "101647127869f5e91a569281fd181172b692b365", + "rev": "f49c027edde33735beae02580b4a2a9b88cc7b04", "type": "github" }, "original": { @@ -652,11 +652,11 @@ ] }, "locked": { - "lastModified": 1741493092, - "narHash": "sha256-jShBVqU8K5rN8xtsq2JDgq+KInRw3pDbp8SViMIz5pE=", + "lastModified": 1745121923, + "narHash": "sha256-8X9JuDfxAEQlBhB0ARgFj9fbDOlCvPx6AbQ1h2T47/g=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "117945c4162d78f2cc7ad578cf44edbbf1ee33fb", + "rev": "02084a38e9dbc4fa17f3474c3e9d43bb7db55799", "type": "github" }, "original": { From f1bf204d3c8c5a76e14f40bad564c089fde5dfcd Mon Sep 17 00:00:00 2001 From: Kaito T Lex Date: Sun, 27 Apr 2025 02:36:35 -0700 Subject: [PATCH 04/40] feat: install hyprland from liminalOS --- flake.lock | 38 +- flake.nix | 5 - hosts/shiroko/configuration.nix | 17 +- hosts/shiroko/default.nix | 1 + modules/core/default.nix | 3 - modules/desktop-environment/default.nix | 64 +++ modules/graphics/default.nix | 23 - users/kaitotlex/de/default.nix | 7 - users/kaitotlex/de/sway/default.nix | 89 ---- users/kaitotlex/de/waybar/default.nix | 172 ------- users/kaitotlex/de/waybar/nord.css | 27 -- users/kaitotlex/de/waybar/rose-pine-dawn.css | 23 - users/kaitotlex/de/waybar/style.css | 75 ---- users/kaitotlex/de/waybar/style.css.bak | 76 ---- users/kaitotlex/default.nix | 5 +- .../kaitotlex/desktop-environment/default.nix | 22 + .../desktop-environment/hyprland/binds.nix | 95 ++++ .../desktop-environment/hyprland/default.nix | 242 ++++++++++ .../hyprland/utilities.nix | 183 ++++++++ .../hyprland/windowrules.nix | 95 ++++ .../kaitotlex/desktop-environment/swaync.nix | 325 ++++++++++++++ .../desktop-environment/waybar/default.nix | 424 ++++++++++++++++++ users/kaitotlex/home.nix | 7 - users/kaitotlex/stylix/default.nix | 6 +- 24 files changed, 1486 insertions(+), 538 deletions(-) create mode 100644 modules/desktop-environment/default.nix delete mode 100644 modules/graphics/default.nix delete mode 100644 users/kaitotlex/de/default.nix delete mode 100644 users/kaitotlex/de/sway/default.nix delete mode 100644 users/kaitotlex/de/waybar/default.nix delete mode 100644 users/kaitotlex/de/waybar/nord.css delete mode 100644 users/kaitotlex/de/waybar/rose-pine-dawn.css delete mode 100644 users/kaitotlex/de/waybar/style.css delete mode 100644 users/kaitotlex/de/waybar/style.css.bak create mode 100644 users/kaitotlex/desktop-environment/default.nix create mode 100644 users/kaitotlex/desktop-environment/hyprland/binds.nix create mode 100644 users/kaitotlex/desktop-environment/hyprland/default.nix create mode 100644 users/kaitotlex/desktop-environment/hyprland/utilities.nix create mode 100644 users/kaitotlex/desktop-environment/hyprland/windowrules.nix create mode 100644 users/kaitotlex/desktop-environment/swaync.nix create mode 100644 users/kaitotlex/desktop-environment/waybar/default.nix diff --git a/flake.lock b/flake.lock index b3be713..f1d86b0 100644 --- a/flake.lock +++ b/flake.lock @@ -1,22 +1,5 @@ { "nodes": { - "aq": { - "flake": false, - "locked": { - "lastModified": 1736050555, - "narHash": "sha256-TUoKhJ2QMK2AYTRvBCRpYFmaSihiF/OgB+HDZjamZtI=", - "owner": "quantum9innovation", - "repo": "aquamarine", - "rev": "546ce7963d18cbd30b32bf8d464f9ab3f6d54f74", - "type": "github" - }, - "original": { - "owner": "quantum9innovation", - "ref": "patch-125", - "repo": "aquamarine", - "type": "github" - } - }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -328,12 +311,26 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "nixCats": "nixCats", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_2", "plugins-blink-ripgrep": "plugins-blink-ripgrep", "plugins-pomo-nvim": "plugins-pomo-nvim" }, @@ -408,7 +405,6 @@ }, "root": { "inputs": { - "aq": "aq", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nixvim": "nixvim", diff --git a/flake.nix b/flake.nix index 29d2ab1..4fba3ff 100644 --- a/flake.nix +++ b/flake.nix @@ -13,7 +13,6 @@ }; nixvim = { url = "github:kaitotlex/vix1"; - inputs.nixpkgs.follows = "nixpkgs"; }; stylix = { url = "github:danth/stylix"; @@ -31,10 +30,6 @@ url = "github:kaitotlex/wallpaper"; flake = false; }; - aq = { - url = "github:quantum9innovation/aquamarine/patch-125"; - flake = false; - }; }; outputs = diff --git a/hosts/shiroko/configuration.nix b/hosts/shiroko/configuration.nix index b3ab013..724f932 100644 --- a/hosts/shiroko/configuration.nix +++ b/hosts/shiroko/configuration.nix @@ -13,19 +13,22 @@ ]; services.fprintd.enable = true; security.pam.services.login.fprintAuth = true; - hardware.graphics.extraPackages = with pkgs; [ vaapiIntel intel-media-driver ]; - hardware.opengl = { + hardware.graphics.extraPackages = with pkgs; [ + vaapiIntel + intel-media-driver + ]; + hardware.graphics.enable32Bit = true; + hardware.opengl = { enable = true; extraPackages = with pkgs; [ # your Open GL, Vulkan and VAAPI drivers - vpl-gpu-rt # for newer GPUs on NixOS >24.05 or unstable + vpl-gpu-rt # for newer GPUs on NixOS >24.05 or unstable # onevpl-intel-gpu # for newer GPUs on NixOS <= 24.05 # intel-media-sdk # for older GPUs ]; }; hardware = { - graphics.enable32Bit = true; pulseaudio.support32Bit = true; openrazer.enable = true; }; @@ -150,7 +153,7 @@ }; # Select internationalisation properties. -networking.firewall = { + networking.firewall = { allowedUDPPorts = [ 51820 ]; # Clients and peers can use the same port, see listenport }; # Enable WireGuard @@ -189,7 +192,7 @@ networking.firewall = { # ]; # }; # }; -i18n.defaultLocale = "en_US.UTF-8"; + i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; @@ -202,7 +205,7 @@ i18n.defaultLocale = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; - + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/hosts/shiroko/default.nix b/hosts/shiroko/default.nix index a3cfae5..928917f 100644 --- a/hosts/shiroko/default.nix +++ b/hosts/shiroko/default.nix @@ -7,5 +7,6 @@ ../../modules/audio ../../modules/stylix ../../modules/electrical + ../../modules/desktop-environment ]; } diff --git a/modules/core/default.nix b/modules/core/default.nix index 908bea6..7298a94 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -4,9 +4,6 @@ ... }: { - imports = [ - ../graphics - ]; # Enable the X11 windowing system. # You can disable this if you're only using the Wayland session. services.xserver.enable = false; diff --git a/modules/desktop-environment/default.nix b/modules/desktop-environment/default.nix new file mode 100644 index 0000000..33981e5 --- /dev/null +++ b/modules/desktop-environment/default.nix @@ -0,0 +1,64 @@ +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.liminalOS.desktop; +in +{ + options.liminalOS.desktop = { + enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Whether to enable the liminalOS desktop environment. + ''; + }; + hyprland.enable = lib.mkOption { + type = lib.types.bool; + default = cfg.enable; + description = '' + Whether to enable Hyprland. Sets up a default configuration at the system and user level, and installs xdg-desktop-portal-gtk. + ''; + }; + }; + + options.liminalOS.formFactor = lib.mkOption { + type = lib.types.nullOr ( + lib.types.enum [ + "laptop" + "desktop" + ] + ); + default = "desktop"; + description = '' + Form factor of the machine. Adjusts some UI settings. + ''; + }; + + options.liminalOS.powersave = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to set some options to reduce power consumption (mostly Hyprland). + ''; + }; + + config = lib.mkIf cfg.enable { + xdg.portal = lib.mkIf cfg.hyprland.enable { + enable = true; + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + }; + + programs.hyprland.enable = cfg.hyprland.enable; + + services.xserver.enable = false; + + services.xserver = { + xkb.layout = "us"; + xkb.variant = ""; + }; + }; +} diff --git a/modules/graphics/default.nix b/modules/graphics/default.nix deleted file mode 100644 index 094830e..0000000 --- a/modules/graphics/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - config, - lib, - inputs, - ... -}: -let - cfg = config.hardware.nvidia; -in -{ - options.hardware.nvidia.usePatchedAquamarine = lib.mkEnableOption "q9i's patched aquamarine with working sleep on Nvidia"; - - config = lib.mkIf cfg.usePatchedAquamarine { - nixpkgs.overlays = [ - (final: prev: { - aquamarine = prev.aquamarine.overrideAttrs { - src = inputs.aq; - version = inputs.aq.rev; - }; - }) - ]; - }; -} diff --git a/users/kaitotlex/de/default.nix b/users/kaitotlex/de/default.nix deleted file mode 100644 index d021f05..0000000 --- a/users/kaitotlex/de/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./sway - ./waybar - #./rofi - ]; -} diff --git a/users/kaitotlex/de/sway/default.nix b/users/kaitotlex/de/sway/default.nix deleted file mode 100644 index 6fcf452..0000000 --- a/users/kaitotlex/de/sway/default.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ - wayland.windowManager.sway = { - enable = true; - config = rec { - terminal = "kitty"; - modifier = "Mod4"; - menu = "rofi -show combi"; - #lock = "swaylock"; - bars = [ - { - command = "waybar"; - } - ]; - gaps = { - inner = 12; - }; - # colors = { - # focused = { - # background = "#191724"; - # border = "#6e6a86"; - # childBorder = "#6e6a86"; - # indicator = "#26233a"; - # text = "#e0def4"; - # }; - # focusedInactive = { - # background = "#797593"; - # border = "#393552"; - # childBorder = "#393552"; - # indicator = "#ea9d34"; - # text = "#e0def4"; - # }; - # placeholder = { - # background = "#1f1d2e"; - # border = "#000000"; - # childBorder = "#9893a5"; - # indicator = "#000000"; - # text = "#e0def4"; - # }; - # unfocused = { - # background = "#1f1d2e"; - # border = "#1f1d2e"; - # childBorder = "#1f1d2e"; - # indicator = "#797593"; - # text = "#e0def4"; - # }; - # urgent = { - # background = "#2a273f"; - # border = "#ea9a97"; - # childBorder = "#ea9a97"; - # indicator = "#1f1d2e"; - # text = "#e0def4"; - # }; - # }; - window = { - border = 3; - titlebar = false; - }; - # startup = [ - # { - # always = true; - # command = "swaybg -i /home/kaitotlex/Pictures/eff.png"; - # } - # ]; - }; - xwayland = true; - extraConfig = '' - bindsym XF86AudioRaiseVolume exec pamixer -i 5 - bindsym XF86AudioLowerVolume exec pamixer -d 5 - bindsym XF86AudioMute exec pamixer -t - bindsym XF86MonBrightnessUp exec brightnessctl s 5%+ - bindsym XF86MonBrightnessDown exec brightnessctl s 5%- - bindsym XF86AudioMicMute exec spotify - input "type:touchpad" { - natural_scroll enabled - tap enabled # enables click-on-tap - tap_button_map lrm # tap with 1 finger = left click, 2 fingers = right click, 3 fingers = middle click - #dwt enabled # disable (touchpad) while typing - } - bindsym XF86KbdBrightnessDown exec brightnessctl -d asus::kbd_backlight s 1- - bindsym XF86KbdBrightnessUp exec brightnessctl -d asus::kbd_backlight s +1 - bindsym XF86Tools exec brightnessctl s 0 - bindsym XF86WebCam exec systemctl sleep - bindsym Prior exec playerctl previous - bindsym Next exec playerctl next - bindsym XF86RotateWindows exec playerctl play-pause - ''; - }; - -} diff --git a/users/kaitotlex/de/waybar/default.nix b/users/kaitotlex/de/waybar/default.nix deleted file mode 100644 index 0d7fb89..0000000 --- a/users/kaitotlex/de/waybar/default.nix +++ /dev/null @@ -1,172 +0,0 @@ -{ pkgs, ... }: -{ - programs.waybar = { - enable = true; - style = ./style.css; - settings = { - mainBar = { - name = "bar0"; - - layer = "top"; - position = "top"; - - height = 28; - # "width" = 1920; - - "margin" = "5px 10px 0px 10px"; - "spacing" = 10; - - "mode" = "top"; - # "exclusive" = true; - - # "output" = "eDP-1"; - - reload_style_on_change = true; - - modules-left = [ - "sway/workspaces" - "sway/window" - ]; - modules-right = [ - "tray" - "idle_inhibitor" - "backlight" - "wireplumber" - "network" - "battery" - "disk" - "memory" - "cpu" - "temperature" - "clock" - ]; - - idle_inhibitor = { - format = "{icon}"; - format-icons = { - activated = "󰛊 "; - deactivated = "󰾫 "; - }; - }; - - network = { - format = "{ifname}"; - format-wifi = "{icon}{essid}"; - format-ethernet = " {essid}"; - format-disconnected = "󰤯 Disconnected"; - format-icons = [ - "󰤟 " - "󰤢 " - "󰤨 " - ]; - tooltip-format = " {bandwidthUpBits} |  {bandwidthDownBits}"; - tooltip-format-wifi = " {bandwidthUpBits} |  {bandwidthDownBits} | 󱄙 {signalStrength}"; - }; - - backlight = { - interval = 2; - format = "󰖨 {percent}%"; - on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -d amdgpu_bl2 set 10%"; - on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -d amdgpu_bl2 set 10%-"; - }; - - wireplumber = { - format = "{icon} {volume}%"; - format-muted = "󰝟 "; - on-click = "pamixer -t"; - on-scroll-up = "${pkgs.pamixer}/bin/pamixer set 5%+"; - on-scroll-down = "${pkgs.pamixer}/bin/pamixer set 5%-"; - format-icons = [ - "" - "" - "" - "" - "" - ]; - }; - - battery = { - interval = 10; - format = "{icon} {capacity}%"; - format-icons = [ - "󰂎" - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" - ]; - tooltip = true; - tooltip-format = "{timeTo}"; - }; - - disk = { - intervel = 30; - format = "󰋊 {percentage_used}%"; - tooltip-format = "{used} used out of {total} on \"{path}\" ({percentage_used}%)"; - }; - - memory = { - interval = 10; - format = " {used}"; - tooltip-format = "{used}GiB used of {total}GiB ({percentage}%)"; - }; - - cpu = { - interval = 10; - format = " {usage}%"; - }; - - temperature = { - interval = 10; - }; - - clock = { - interval = 1; - format = "{:%H:%M:%S}"; - }; - - "hyprland/workspaces" = { - show-special = true; - persistent-workspaces = { - "*" = [ - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - ]; - }; - format = "{icon}"; - format-icons = { - active = ""; - empty = ""; - default = ""; - urgent = ""; - special = "󰠱"; - }; - }; - "hyprland/window" = { - icon = true; - icon-size = 20; - max-length = 50; - rewrite = { - "(.*) — firefox" = "$1"; - "(.*) — chromium" = "$1"; - "^$" = "👾"; - }; - }; - }; - }; - }; -} diff --git a/users/kaitotlex/de/waybar/nord.css b/users/kaitotlex/de/waybar/nord.css deleted file mode 100644 index 7ae564f..0000000 --- a/users/kaitotlex/de/waybar/nord.css +++ /dev/null @@ -1,27 +0,0 @@ -@define-color bg #2E3440; -/*@define-color bg #353C4A;*/ -@define-color light #D8DEE9; -/*@define-color dark @nord_dark_font;*/ -@define-color warning #ebcb8b; -@define-color critical #BF616A; -@define-color mode #434C5E; -/*@define-color workspaces @bg;*/ -/*@define-color workspaces @nord_dark_font;*/ -/*@define-color workspacesfocused #434C5E;*/ -@define-color workspacesfocused #4C566A; -@define-color tray @workspacesfocused; -@define-color sound #EBCB8B; -@define-color network #5D7096; -@define-color memory #546484; -@define-color cpu #596A8D; -@define-color temp #4D5C78; -@define-color layout #5e81ac; -@define-color battery #88c0d0; -@define-color date #434C5E; -@define-color time #434C5E; -@define-color backlight #434C5E; -@define-color nord_bg #434C5E; -@define-color nord_bg_blue #546484; -@define-color nord_light #D8DEE9; -@define-color nord_light_font #D8DEE9; -@define-color nord_dark_font #434C5E; diff --git a/users/kaitotlex/de/waybar/rose-pine-dawn.css b/users/kaitotlex/de/waybar/rose-pine-dawn.css deleted file mode 100644 index a85bab2..0000000 --- a/users/kaitotlex/de/waybar/rose-pine-dawn.css +++ /dev/null @@ -1,23 +0,0 @@ -/* -* Variant: Rosé Pine Dawn -* Maintainer: DankChoir -*/ - -@define-color base #faf4ed; -@define-color surface #fffaf3; -@define-color overlay #f2e9e1; - -@define-color muted #9893a5; -@define-color subtle #797593; -@define-color text #575279; - -@define-color love #b4637a; -@define-color gold #ea9d34; -@define-color rose #d7827e; -@define-color pine #286983; -@define-color foam #56949f; -@define-color iris #907aa9; - -@define-color highlightLow #f4ede8; -@define-color highlightMed #dfdad9; -@define-color highlightHigh #cecacd; diff --git a/users/kaitotlex/de/waybar/style.css b/users/kaitotlex/de/waybar/style.css deleted file mode 100644 index b87b208..0000000 --- a/users/kaitotlex/de/waybar/style.css +++ /dev/null @@ -1,75 +0,0 @@ -@import "./nord.css"; -window#waybar { - font-family: "CaskaydiaCove Nerd Font"; - background-color: @bg; - font-size: 0.8rem; - border-radius: 0.5rem; -} - -.modules-left { - opacity: 1; - background-color: #95a3bb; - border-radius: 0.5rem; - padding: 2px; -} - -.modules-center { - opacity: 0; -} - -.modules-right { - opacity: 1; - background-color: #95a3bb; - border-radius: 0.5rem; - padding: 2px 2px 2px 10px -} - -/* label.module { - margin-left: -1px; -} */ - -#workspaces { - background-color: #6e7581; - border-radius: 0.5rem; - padding: 0 2px; -} - -#workspaces button { - font-size: 0.6rem; - padding: 0 0.3rem 0 0; -} - -#window { - background-color: #95a3bb; - border-radius: 0.5rem; - padding: 2px 5px; -} - -#clock { - border-radius: 0.5rem; - padding: 0 3px 0 0; -} - -#battery { - color: @date; -} - -#memory { - color: @memory; -} - -#disk { - color: @date; -} - -#cpu { - color: @cpu; -} - -#temperature { - color: @temp; -} - -#network { - color: @network; -} diff --git a/users/kaitotlex/de/waybar/style.css.bak b/users/kaitotlex/de/waybar/style.css.bak deleted file mode 100644 index 9fbd8ff..0000000 --- a/users/kaitotlex/de/waybar/style.css.bak +++ /dev/null @@ -1,76 +0,0 @@ -@import "./rose-pine-dawn.css"; -window#waybar { - font-family: "CaskaydiaCove Nerd Font"; - background-color: @base; - font-size: 0.8rem; - border-radius: 0.5rem; -} - -.modules-left { - opacity: 1; - background: linear-gradient(45deg, @muted, @subtle); - border-radius: 0.5rem; - padding: 2px; -} - -.modules-center { - opacity: 0; -} - -.modules-right { - opacity: 1; - background-color: @subtle; - border-radius: 0.5rem; - padding: 2px 2px 2px 10px -} - -/* label.module { - margin-left: -1px; -} */ - -#workspaces { - background-color: @rose; - border-radius: 0.5rem; - padding: 0 2px; -} - -#workspaces button { - font-size: 0.6rem; - padding: 0 0.3rem 0 0; -} - -#window { - background-color: @iris; - border-radius: 0.5rem; - padding: 2px 5px; -} - -#clock { - border-radius: 0.5rem; - padding: 0 3px 0 0; -} - -#battery { - color: @foam; -} - -#memory { - color: @iris; -} - -#disk { - color: @gold; -} - -#cpu { - color: @rose; -} - -#temperature { - color: @foam; -} - -#network { - color: @rose; -} - diff --git a/users/kaitotlex/default.nix b/users/kaitotlex/default.nix index 51cda52..1ff4145 100644 --- a/users/kaitotlex/default.nix +++ b/users/kaitotlex/default.nix @@ -2,7 +2,10 @@ imports = [ ./home.nix ./spicetify.nix - ./de ./stylix + ./desktop-environment ]; + + liminalOS.formFactor = "desktop"; + liminalOS.powersave = false; } diff --git a/users/kaitotlex/desktop-environment/default.nix b/users/kaitotlex/desktop-environment/default.nix new file mode 100644 index 0000000..18ac71f --- /dev/null +++ b/users/kaitotlex/desktop-environment/default.nix @@ -0,0 +1,22 @@ +{ + osConfig, + lib, + ... +}: +{ + imports = [ + ./hyprland + ./waybar + ./swaync.nix + ]; + + options.liminalOS.desktop = { + enable = lib.mkOption { + type = lib.types.bool; + default = osConfig.liminalOS.desktop.enable; + description = '' + Whether to enable the default configuration for the userland portions of the liminalOS desktop environment. + ''; + }; + }; +} diff --git a/users/kaitotlex/desktop-environment/hyprland/binds.nix b/users/kaitotlex/desktop-environment/hyprland/binds.nix new file mode 100644 index 0000000..2b40153 --- /dev/null +++ b/users/kaitotlex/desktop-environment/hyprland/binds.nix @@ -0,0 +1,95 @@ +{ + lib, + pkgs, + config, + ... +}: +let + cfg = config.liminalOS.desktop.hyprland; + hyprnome = "${pkgs.hyprnome}/bin/hyprnome"; +in +{ + wayland.windowManager.hyprland.settings = lib.mkIf cfg.enable { + bind = [ + "$mod+Shift, $Left, scroller:movewindow, l" + "$mod+Shift, $Right, scroller:movewindow, r" + "$mod+Shift, $Up, scroller:movewindow, u" + "$mod+Shift, $Down, scroller:movewindow, d" + + # Move around + "$mod, $Left, scroller:movefocus, l" + "$mod, $Right, scroller:movefocus, r" + "$mod, $Up, scroller:movefocus, u" + "$mod, $Down, scroller:movefocus, d" + "$mod, comma, scroller:admitwindow" + "$mod, period, scroller:expelwindow" + "$mod, F, scroller:fitsize, active" + "$mod, Y, scroller:fitsize, all" + "$mod, semicolon, scroller:cyclesize, next" + "$mod, apostrophe, scroller:cyclesize, previous" + + "$mod+Shift, U, exec, ${hyprnome} --move" + "$mod+Shift, I, exec, ${hyprnome} --previous --move" + + "$mod, U, exec, ${hyprnome}" + "$mod, I, exec, ${hyprnome} --previous" + + "$mod, C, scroller:setmode, c" + "$mod, V, scroller:setmode, r" + + "$mod, G, scroller:jump" + "$mod+Ctrl, G, scroller:toggleoverview" + # Window actions + "$mod, Q, killactive" + "$mod, W, togglefloating" + "$mod, Return, fullscreen" + + # Utilities + "$mod, Space, exec, pkill -x rofi || rofi -show drun" # Run rofi application launcher + "$mod, X, exec, pkill -x rofi || rofi -show window" # Run rofi window switcher + + "$mod, Backspace, exec, pkill -x wlogout || wlogout" # show logout menu + + "$mod, Z, exec, loginctl lock-session" + + # Media controls + ",XF86AudioMute, exec, ${pkgs.pamixer}/bin/pamixer -t" + ",XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl --player=%any,firefox play-pause" + ",XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl --player=%any,firefox next" + ",XF86AudioRewind, exec, ${pkgs.playerctl}/bin/playerctl --player=%any,firefox previous" + + "$mod, S, togglespecialworkspace" + "$mod+Alt, S, movetoworkspacesilent, special" + "$mod, Tab, workspace, previous" + ''$mod+Shift, P, exec, ${pkgs.grim}/bin/grim - | ${pkgs.swappy}/bin/swappy -f -'' # Screenshot full screen + ''$mod, P, exec, ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -'' # Screenshot + + "$mod, B, exec, zen" + + "$mod, N, exec, sleep 0.1 && ${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw" + # Application Keybinds + "$mod, R, exec, ${pkgs.pavucontrol}/bin/pavucontrol -t 3" # open pavucontrol on 'outputs' tab + "$mod, T, exec, ${pkgs.kitty}/bin/kitty" + "$mod, E, exec, ${pkgs.xfce.thunar}/bin/thunar" + "$mod, M, exec, ${pkgs.thunderbird}/bin/thunderbird" + ]; + + bindm = [ + "$mod, mouse:272, movewindow" + "$mod, mouse:273, resizewindow" + ]; + bindel = [ + ",XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl set 5%-" + ",XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl set 5%+" + ",XF86AudioRaiseVolume, exec, ${pkgs.pamixer}/bin/pamixer -i 5" + ",XF86AudioLowerVolume, exec, ${pkgs.pamixer}/bin/pamixer -d 5" + ]; + binde = [ + # Resize windows + "$mod+Alt, $Right, resizeactive, 30 0" + "$mod+Alt, $Left, resizeactive, -30 0" + "$mod+Alt, $Up, resizeactive, 0 -30" + "$mod+Alt, $Down, resizeactive, 0 30" + ]; + }; +} diff --git a/users/kaitotlex/desktop-environment/hyprland/default.nix b/users/kaitotlex/desktop-environment/hyprland/default.nix new file mode 100644 index 0000000..ab83cd4 --- /dev/null +++ b/users/kaitotlex/desktop-environment/hyprland/default.nix @@ -0,0 +1,242 @@ +{ + pkgs, + config, + lib, + osConfig, + ... +}: +let + cfg = config.liminalOS.desktop.hyprland; +in +{ + imports = [ + ./binds.nix + ./utilities.nix + ./windowrules.nix + ]; + + options.liminalOS.formFactor = lib.mkOption { + type = lib.types.nullOr ( + lib.types.enum [ + "laptop" + "desktop" + ] + ); + default = osConfig.liminalOS.formFactor; + description = '' + Form factor of the machine. Adjusts some UI settings. + ''; + }; + + options.liminalOS.powersave = lib.mkOption { + type = lib.types.bool; + default = osConfig.liminalOS.powersave; + description = '' + Whether to set some options to reduce power consumption (mostly Hyprland). + ''; + }; + + options.liminalOS.desktop.hyprland = { + enable = lib.mkOption { + type = lib.types.bool; + default = config.liminalOS.desktop.enable; + description = '' + Whether to enable and rice Hyprland as well as some basic desktop utilities. + ''; + }; + gtkUseOpenGL = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to set GSK_RENDERER environment variable to stop GTK apps from crashing. + ''; + }; + idleDaemon.enable = lib.mkOption { + type = lib.types.bool; + default = cfg.enable; + description = '' + Whether to setup and enable Hypridle with some defaults to automatically lock the screen and suspend after idling. + ''; + }; + screenlocker.enable = lib.mkOption { + type = lib.types.bool; + default = cfg.enable && cfg.idleDaemon.enable; + description = '' + Whether to set up Hyprlock for screen locking. + ''; + }; + screenlocker.useCrashFix = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to use a workaround for Hyprlock background blur not working on some machines. Before locking, a screenshot will be taken and placed at `/tmp/__hyprlock-monitor-screenshot.png`. + ''; + }; + screenlocker.monitor = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + description = '' + Monitor to use for screen locker. Use `hyprctl monitors` to determine. + ''; + }; + bluelight.enable = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Whether to enable `hyprsunset` as a daemon. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + home.packages = with pkgs; [ + wl-clipboard + libsForQt5.qtstyleplugin-kvantum + libsForQt5.qt5ct + papirus-icon-theme + libsForQt5.qt5ct + hyprland-qtutils + ]; + + wayland.windowManager.hyprland = { + enable = true; + plugins = [ + (pkgs.hyprlandPlugins.hyprscroller.overrideAttrs { + version = "0-unstable-2025-03-28"; + src = pkgs.fetchFromGitHub { + owner = "dawsers"; + repo = "hyprscroller"; + rev = "3f86916f3e9a583154b1be0af4e8a1ef1f7435b2"; + hash = "sha256-mgYq3vc4JtIzVuAKTWdALOynImYyNZEXh7tiVPvMZg4="; + }; + }) + ]; + settings = { + exec-once = [ + "hyprctl dispatch workspace 100000" + ]; + "$mod" = "SUPER"; + "$Left" = "H"; + "$Right" = "L"; + "$Up" = "K"; + "$Down" = "J"; + env = ( + lib.optionals cfg.gtkUseOpenGL [ + "GSK_RENDERER,ngl" + ] + ); + layerrule = [ + "blur,rofi" + "ignorezero,rofi" + "animation slide bottom 0.2 0.2 wind,rofi" + "blur,notifications" + "ignorezero,notifications" + "blur,swaync-notification-window" + "animation slide right 0.5 0.5,swaync-control-center" + "animation slide right 0.5 0.5,notifications" + "animation slide right 0.5 0.5,swaync-notification-window" + "ignorezero,swaync-notification-window" + "blur,swaync-control-center" + "ignorezero,swaync-control-center" + "blur,logout_dialog" + ]; + dwindle = { + pseudotile = "yes"; + preserve_split = "yes"; + }; + animations = { + enabled = "yes"; + bezier = [ + "wind, 0.05, 0.9, 0.1, 1.05" + "winIn, 0.1, 1.1, 0.1, 1.1" + "winOut, 0.3, -0.3, 0, 1" + "liner, 1, 1, 1, 1" + "windup, 0.05, 0.9, 0.1, 1.05" + ]; + animation = + [ + "windows, 1, 6, wind, slide" + "windowsIn, 1, 6, winIn, slide" + "windowsOut, 1, 5, winOut, slide" + "windowsMove, 1, 5, wind, slide" + "fade, 1, 10, default" + # "layers, 1, 8, default, slide" + "workspaces, 1, 5, wind, slidefadevert" + ] + ++ (lib.optionals (!osConfig.liminalOS.powersave) [ + "border, 1, 1, liner" + "borderangle, 1, 30, liner, loop" + ]); + }; + + general = + let + inherit (config.lib.stylix) colors; + in + { + gaps_in = "3"; + gaps_out = "8"; + border_size = "2"; + # "col.active_border" = pkgs.lib.mkForce "rgba(ca9ee6ff) rgba(f2d5cfff) 45deg"; + # "col.inactive_border" = pkgs.lib.mkForce "rgba(b4befecc) rgba(6c7086cc) 45deg"; + "col.active_border" = "rgba(${colors.base0A}ff) rgba(${colors.base09}ff) 45deg"; + "col.inactive_border" = "rgba(${colors.base01}cc) rgba(${colors.base02}cc) 45deg"; + layout = "scroller"; + resize_on_border = "true"; + }; + + misc = { + disable_hyprland_logo = true; + disable_splash_rendering = true; + }; + + cursor = { + hide_on_key_press = true; + }; + + decoration = { + rounding = "10"; + dim_special = "0.3"; + blur = { + enabled = "yes"; + size = "6"; + passes = "3"; + new_optimizations = "on"; + ignore_opacity = "on"; + xray = "false"; + special = true; + }; + shadow = { + enabled = false; + }; + }; + input = { + sensitivity = if config.liminalOS.formFactor == "laptop" then "0.0" else "-0.65"; + }; + plugin.scroller = { + column_widths = "onethird onehalf twothirds one"; + column_heights = "onethird onehalf twothirds one"; + }; + experimental.xx_color_management_v4 = true; + }; + }; + + wayland.windowManager.hyprland.settings.input.touchpad = + lib.mkIf (config.liminalOS.formFactor == "laptop") + { + natural_scroll = true; + disable_while_typing = true; + clickfinger_behavior = true; + tap-to-click = false; + scroll_factor = 0.15; + }; + + assertions = [ + { + assertion = + !cfg.screenlocker.useCrashFix || (cfg.screenlocker.useCrashFix && cfg.screenlocker.monitor != null); + message = "To use the Nvidia crash fix, you must set screenlocker.monitor to the monitor you want to use as the lock screen that blurs! Use `hyprctl monitors` to determine the monitor codes (should be something like DP-1, HDMI-A-1, etc)."; + } + ]; + }; +} diff --git a/users/kaitotlex/desktop-environment/hyprland/utilities.nix b/users/kaitotlex/desktop-environment/hyprland/utilities.nix new file mode 100644 index 0000000..40b3fff --- /dev/null +++ b/users/kaitotlex/desktop-environment/hyprland/utilities.nix @@ -0,0 +1,183 @@ +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.liminalOS.desktop.hyprland; +in +{ + config = lib.mkIf cfg.enable { + systemd.user.services = lib.mkIf cfg.bluelight.enable { + hyprsunset = { + Unit = { + Description = "Start the hyprsunset daemon"; + PartOf = "hyprland-session.target"; + After = "hyprland-session.target"; + }; + Service = { + Type = "simple"; + ExecStart = "${pkgs.hyprsunset}/bin/hyprsunset"; + Restart = "on-failure"; + RestartSec = 3; + }; + Install = { + WantedBy = [ "hyprland-session.target" ]; + }; + }; + }; + + services.hyprpaper.enable = true; + + programs.wlogout.enable = true; + + programs.rofi = { + enable = true; + package = pkgs.rofi-wayland; + terminal = "${pkgs.kitty}/bin/kitty"; + theme = + let + inherit (config.lib.formats.rasi) mkLiteral; + mkRgba = + opacity: color: + let + c = config.lib.stylix.colors; + r = c."${color}-rgb-r"; + g = c."${color}-rgb-g"; + b = c."${color}-rgb-b"; + in + mkLiteral "rgba ( ${r}, ${g}, ${b}, ${opacity} % )"; + mkRgb = mkRgba "100"; + rofiOpacity = builtins.toString (builtins.ceil (config.stylix.opacity.popups * 100)); + in + { + "*" = { + font = "${config.stylix.fonts.monospace.name} ${toString config.stylix.fonts.sizes.popups}"; + text-color = mkRgb "base05"; + background-color = mkRgba rofiOpacity "base00"; + }; + "window" = { + height = mkLiteral "20em"; + width = mkLiteral "30em"; + border-radius = mkLiteral "8px"; + border-width = mkLiteral "2px"; + padding = mkLiteral "1.5em"; + }; + "mainbox" = { + background-color = mkRgba rofiOpacity "base01"; + }; + "inputbar" = { + margin = mkLiteral "0 0 1em 0"; + }; + "prompt" = { + enabled = false; + }; + "entry" = { + placeholder = "Search..."; + padding = mkLiteral "1em 1em"; + text-color = mkRgb "base05"; + background-color = mkRgba rofiOpacity "base00"; + border-radius = mkLiteral "8px"; + }; + "element-text" = { + padding = mkLiteral "0.5em 1em"; + margin = mkLiteral "0 0.5em"; + }; + "element-icon" = { + size = mkLiteral "3ch"; + }; + "element-text selected" = { + background-color = mkRgba rofiOpacity "base0A"; + text-color = mkRgb "base01"; + border-radius = mkLiteral "8px"; + }; + }; + }; + + services.swayosd.enable = true; + + programs.hyprlock = lib.mkIf cfg.screenlocker.enable { + enable = true; + settings = { + general = { + hide_cursor = true; + grace = 0; + }; + background = { + monitor = cfg.screenlocker.monitor; + path = + if cfg.screenlocker.useCrashFix then "/tmp/__hyprlock-monitor-screenshot.png" else "screenshot"; + blur_passes = 3; + blur_size = 7; + noise = 0.0117; + contrast = 0.8916; + brightness = 0.8172; + vibrancy = 0.1696; + vibrancy_darkness = 0.0; + }; + input-field = { + monitor = ""; + size = "200, 50"; + outline_thickness = 3; + dots_size = 0.33; + dots_spacing = 0.15; + dots_center = false; + dots_rounding = -1; + outer_color = "rgb(151515)"; + inner_color = "rgb(200, 200, 200)"; + font_color = "rgb(10, 10, 10)"; + fade_on_empty = true; + fade_timeout = 1000; + placeholder_text = "Input Password..."; + hide_input = false; + rounding = -1; + check_color = "rgb(204, 136, 34)"; + fail_color = "rgb(204, 34, 34)"; + fail_text = "$FAIL ($ATTEMPTS)"; + fail_timeout = 2000; + fail_transition = 300; + capslock_color = -1; + numlock_color = -1; + bothlock_color = -1; + invert_numlock = false; + swap_font_color = false; + + position = "0, -20"; + halign = "center"; + valign = "center"; + }; + }; + }; + + services.hypridle = lib.mkIf cfg.idleDaemon.enable { + enable = true; + settings = { + general = { + lock_cmd = + if cfg.screenlocker.useCrashFix then + "pidof hyprlock || ${pkgs.grim}/bin/grim -o ${config.programs.hyprlock.settings.background.monitor} /tmp/__hyprlock-monitor-screenshot.png && ${pkgs.hyprlock}/bin/hyprlock" + else + "pidof hyprlock || hyprlock"; + before_sleep_cmd = "loginctl lock-session"; # lock before suspend. + after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display. + }; + listener = [ + { + timeout = 1500; + on-timeout = "loginctl lock-session"; + } + { + timeout = 330; # 5.5min + on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed + on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired. + } + { + timeout = 1800; + on-timeout = "systemctl suspend"; + } + ]; + }; + }; + }; +} diff --git a/users/kaitotlex/desktop-environment/hyprland/windowrules.nix b/users/kaitotlex/desktop-environment/hyprland/windowrules.nix new file mode 100644 index 0000000..017128d --- /dev/null +++ b/users/kaitotlex/desktop-environment/hyprland/windowrules.nix @@ -0,0 +1,95 @@ +{ config, lib, ... }: +{ + config.wayland.windowManager.hyprland.settings.windowrulev2 = + lib.mkIf config.liminalOS.desktop.hyprland.enable + [ + "opacity 0.90 0.90,class:^(librewolf)$" + "opacity 0.90 0.90,class:^(floorp)$" + "opacity 0.90 0.90,class:^(zen-alpha)$" + "opacity 0.90 0.90,class:^(zen-beta)$" + "opacity 0.90 0.90,class:^(zen)$" + "opacity 0.90 0.90,class:^(Brave-browser)$" + "opacity 0.80 0.80,class:^(Steam)$" + "opacity 0.80 0.80,class:^(steam)$" + "opacity 0.80 0.80,class:^(steamwebhelper)$" + "opacity 0.80 0.80,class:^(Spotify)$" + "opacity 0.80 0.80,initialTitle:^(Spotify Premium)$" + "opacity 0.80 0.80,initialTitle:^(Spotify Free)$" + "opacity 0.80 0.80,class:^(code-oss)$" + "opacity 0.80 0.80,class:^(Code)$" + "opacity 0.80 0.80,class:^(code-url-handler)$" + "opacity 0.80 0.80,class:^(code-insiders-url-handler)$" + "opacity 0.80 0.80,class:^(kitty)$" + "opacity 0.80 0.80,class:^(neovide)$" + "opacity 0.80 0.80,class:^(org.kde.dolphin)$" + "opacity 0.80 0.80,class:^(thunar)$" + "opacity 0.80 0.80,class:^(org.kde.ark)$" + "opacity 0.80 0.80,class:^(nwg-look)$" + "opacity 0.80 0.80,class:^(qt5ct)$" + "opacity 0.80 0.80,class:^(qt6ct)$" + "opacity 0.80 0.80,class:^(kvantummanager)$" + "opacity 0.80 0.80,class:^(waypaper)$" + "opacity 0.80 0.80,class:^(org.pulseaudio.pavucontrol)$" + "opacity 0.80 0.80,class:^(com.github.wwmm.easyeffects)$" + "opacity 0.80 0.80,class:^(thunderbird)$" + + "opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk" + "opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk" + "opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk" + "opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt" + "opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk" + "opacity 0.80 0.80,class:^(discord)$ # Discord-Electron" + "opacity 0.80 0.80,class:^(vesktop)$ # Vesktop-Electron" + "opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron" + "opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk" + "opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt" + "opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk" + "opacity 0.80 0.80,class:^(signal)$ # Signal-Gtk" + "opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk" + "opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk" + "opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk" + "opacity 0.80 0.80,class:^(lutris)$ # Lutris game launcher" + + "opacity 0.80 0.70,class:^(pavucontrol)$" + "opacity 0.80 0.70,class:^(blueman-manager)$" + "opacity 0.80 0.70,class:^(nm-applet)$" + "opacity 0.80 0.70,class:^(nm-connection-editor)$" + "opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$" + + "float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$" + "float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$" + "float,title:^(Picture-in-Picture)$" + "float,class:^(librewolf)$,title:^(Library)$" + "float,class:^(floorp)$,title:^(Library)$" + "float,class:^(zen-alpha)$,title:^(Library)$" + "float,class:^(zen-beta)$,title:^(Library)$" + "float,class:^(zen)$,title:^(Library)$" + ''float,class:^(zen)$,title:^(.*Extension: \(Bitwarden Password Manager\).*)$'' + "float,class:^(vlc)$" + "float,class:^(kvantummanager)$" + "float,class:^(qt5ct)$" + "float,class:^(qt6ct)$" + "float,class:^(nwg-look)$" + "float,class:^(org.kde.ark)$" + "float,class:^(org.pulseaudio.pavucontrol)$" + "float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk" + "float,class:^(app.drey.Warp)$ # Warp-Gtk" + "float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt" + "float,class:^(yad)$ # Protontricks-Gtk" + "float,class:^(eog)$ # Imageviewer-Gtk" + "float,class:^(io.github.alainm23.planify)$ # planify-Gtk" + "float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk" + "float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk" + "float,class:^(blueman-manager)$" + "float,class:^(nm-applet)$" + "float,class:^(nm-connection-editor)$" + "float,class:^(org.kde.polkit-kde-authentication-agent-1)$" + "opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.gtk)$" + "opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.hyprland)$" + + ''size 70% 70%,class:^(zen)$,title:^(.*Extension: \(Bitwarden Password Manager\).*)$'' + "size 50% 50%,class:^(org.pulseaudio.pavucontrol)" + + "stayfocused, class:^(pinentry-)" # fix pinentry losing focus + ]; +} diff --git a/users/kaitotlex/desktop-environment/swaync.nix b/users/kaitotlex/desktop-environment/swaync.nix new file mode 100644 index 0000000..73b1b3e --- /dev/null +++ b/users/kaitotlex/desktop-environment/swaync.nix @@ -0,0 +1,325 @@ +{ config, lib, ... }: +let + cfg = config.liminalOS.desktop.swaync; +in +{ + options.liminalOS.desktop.swaync = { + enable = lib.mkOption { + type = lib.types.bool; + default = config.liminalOS.desktop.enable; + description = '' + Whether to enable the swaync notification center and daemon. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + services.swaync.enable = true; + services.swaync.settings = { + positionX = "right"; + positionY = "top"; + control-center-margin-top = 10; + control-center-margin-bottom = 10; + control-center-margin-right = 10; + control-center-margin-left = 10; + notification-icon-size = 64; + notification-body-image-height = 100; + notification-body-image-width = 200; + timeout = 10; + timeout-low = 5; + timeout-critical = 0; + fit-to-screen = false; + control-center-width = 500; + control-center-height = 800; + notification-window-width = 500; + keyboard-shortcuts = true; + image-visibility = "when-available"; + transition-time = 200; + hide-on-clear = false; + hide-on-action = true; + script-fail-notify = true; + widgets = [ + "title" + "mpris" + "volume" + "backlight" + "dnd" + "notifications" + ]; + widget-config = { + title = { + text = "Mission Control"; + clear-all-button = "true"; + button-text = " All Systems Go"; + }; + dnd = { + text = "Do Not Disturb"; + }; + label = { + max-lines = 1; + text = "Mission Control"; + }; + mpris = { + image-size = 96; + image-radius = 7; + }; + volume = { + label = "󰕾"; + }; + backlight = { + label = "󰃟"; + }; + }; + }; + + home.file.".config/swaync/style.css".text = '' + * { + font-family: ${config.stylix.fonts.monospace.name}; + } + .control-center .notification-row:focus, + .control-center .notification-row:hover { + background: #${config.lib.stylix.colors.base00} + } + .notification-row { + outline: none; + margin: 10px; + padding: 0; + } + .notification { + background: transparent; + padding: 0; + margin: 0px; + opacity: 0.75; + } + .notification-content { + background: #${config.lib.stylix.colors.base00}; + padding: 10px; + border-radius: 5px; + border: 2px solid #${config.lib.stylix.colors.base05}; + margin: 0; + } + .notification-default-action { + margin: 0; + padding: 0; + border-radius: 5px; + } + .close-button { + background: #${config.lib.stylix.colors.base08}; + color: #${config.lib.stylix.colors.base00}; + text-shadow: none; + padding: 0; + border-radius: 5px; + margin-top: 5px; + margin-right: 5px; + } + .close-button:hover { + box-shadow: none; + background: #${config.lib.stylix.colors.base0D}; + transition: all .15s ease-in-out; + border: none + } + .notification-action { + border: 2px solid #${config.lib.stylix.colors.base0D}; + border-top: none; + border-radius: 5px; + } + .notification-default-action:hover, + .notification-action:hover { + color: #${config.lib.stylix.colors.base0B}; + background: #${config.lib.stylix.colors.base0B} + } + .notification-default-action { + border-radius: 5px; + margin: 0px; + } + .notification-default-action:not(:only-child) { + border-bottom-left-radius: 7px; + border-bottom-right-radius: 7px + } + .notification-action:first-child { + border-bottom-left-radius: 10px; + background: #${config.lib.stylix.colors.base00} + } + .notification-action:last-child { + border-bottom-right-radius: 10px; + background: #${config.lib.stylix.colors.base00} + } + .inline-reply { + margin-top: 8px + } + .inline-reply-entry { + background: #${config.lib.stylix.colors.base00}; + color: #${config.lib.stylix.colors.base05}; + caret-color: #${config.lib.stylix.colors.base05}; + border: 1px solid #${config.lib.stylix.colors.base09}; + border-radius: 5px + } + .inline-reply-button { + margin-left: 4px; + background: #${config.lib.stylix.colors.base00}; + border: 1px solid #${config.lib.stylix.colors.base09}; + border-radius: 5px; + color: #${config.lib.stylix.colors.base05} + } + .inline-reply-button:disabled { + background: initial; + color: #${config.lib.stylix.colors.base03}; + border: 1px solid transparent + } + .inline-reply-button:hover { + background: #${config.lib.stylix.colors.base00} + } + .body-image { + margin-top: 6px; + background-color: #${config.lib.stylix.colors.base05}; + border-radius: 5px + } + .summary { + font-size: 16px; + font-weight: 700; + background: transparent; + color: rgba(158, 206, 106, 1); + text-shadow: none + } + .time { + font-size: 16px; + font-weight: 700; + background: transparent; + color: #${config.lib.stylix.colors.base05}; + text-shadow: none; + margin-right: 18px + } + .body { + font-size: 15px; + font-weight: 400; + background: transparent; + color: #${config.lib.stylix.colors.base05}; + text-shadow: none + } + .control-center { + background: #${config.lib.stylix.colors.base00}; + border: 2px solid #${config.lib.stylix.colors.base0C}; + border-radius: 5px; + opacity: 0.85; + } + .control-center-list { + background: transparent + } + .control-center-list-placeholder { + opacity: .5 + } + .floating-notifications { + background: transparent + } + .blank-window { + background: alpha(black, 0) + } + .widget-title { + color: #${config.lib.stylix.colors.base0B}; + background: #${config.lib.stylix.colors.base00}; + padding: 5px 10px; + margin: 10px 10px 5px 10px; + font-size: 1.5rem; + border-radius: 5px; + } + .widget-title>button { + font-size: 1rem; + color: #${config.lib.stylix.colors.base05}; + text-shadow: none; + background: #${config.lib.stylix.colors.base00}; + box-shadow: none; + border-radius: 5px; + } + .widget-title>button:hover { + background: #${config.lib.stylix.colors.base08}; + color: #${config.lib.stylix.colors.base00}; + } + .widget-dnd { + background: #${config.lib.stylix.colors.base00}; + padding: 5px 10px; + margin: 10px 10px 5px 10px; + border-radius: 5px; + font-size: large; + color: #${config.lib.stylix.colors.base0B}; + } + .widget-dnd>switch { + border-radius: 5px; + /* border: 1px solid #${config.lib.stylix.colors.base0B}; */ + background: #${config.lib.stylix.colors.base0B}; + } + .widget-dnd>switch:checked { + background: #${config.lib.stylix.colors.base08}; + border: 1px solid #${config.lib.stylix.colors.base08}; + } + .widget-dnd>switch slider { + background: #${config.lib.stylix.colors.base00}; + border-radius: 5px + } + .widget-dnd>switch:checked slider { + background: #${config.lib.stylix.colors.base00}; + border-radius: 5px + } + .widget-label { + margin: 10px 10px 5px 10px; + } + .widget-label>label { + font-size: 1rem; + color: #${config.lib.stylix.colors.base05}; + } + .widget-mpris { + color: #${config.lib.stylix.colors.base05}; + padding: 5px 10px; + margin: 10px 10px 5px 10px; + border-radius: 5px; + } + .widget-mpris > box > button { + border-radius: 5px; + } + .widget-mpris-player { + padding: 5px 10px; + margin: 10px + } + .widget-mpris-title { + font-weight: 700; + font-size: 1.25rem + } + .widget-mpris-subtitle { + font-size: 1.1rem + } + .widget-menubar>box>.menu-button-bar>button { + border: none; + background: transparent + } + .topbar-buttons>button { + border: none; + background: transparent + } + .widget-volume { + background: #${config.lib.stylix.colors.base01}; + padding: 5px; + margin: 10px 10px 5px 10px; + border-radius: 5px; + font-size: x-large; + color: #${config.lib.stylix.colors.base05}; + } + .widget-volume>box>button { + background: #${config.lib.stylix.colors.base0B}; + border: none + } + .per-app-volume { + background-color: #${config.lib.stylix.colors.base00}; + padding: 4px 8px 8px; + margin: 0 8px 8px; + border-radius: 5px; + } + .widget-backlight { + background: #${config.lib.stylix.colors.base01}; + padding: 5px; + margin: 10px 10px 5px 10px; + border-radius: 5px; + font-size: x-large; + color: #${config.lib.stylix.colors.base05} + } + ''; + }; +} diff --git a/users/kaitotlex/desktop-environment/waybar/default.nix b/users/kaitotlex/desktop-environment/waybar/default.nix new file mode 100644 index 0000000..6c776a0 --- /dev/null +++ b/users/kaitotlex/desktop-environment/waybar/default.nix @@ -0,0 +1,424 @@ +{ + pkgs, + config, + lib, + osConfig, + ... +}: +let + cfg = config.liminalOS.desktop.waybar; + theme = config.lib.stylix; + palette = theme.colors; +in +{ + options.liminalOS.desktop.waybar = { + enable = lib.mkOption { + type = lib.types.bool; + default = config.liminalOS.desktop.enable; + description = '' + Whether to enable Waybar and the liminalOS rice. + ''; + }; + }; + config = lib.mkIf cfg.enable { + home.packages = with pkgs; [ playerctl ]; + programs.waybar = + let + isDesktop = osConfig.liminalOS.formFactor == "desktop"; + isLaptop = osConfig.liminalOS.formFactor == "laptop"; + in + { + enable = true; + systemd.enable = true; + systemd.target = lib.mkIf config.liminalOS.desktop.hyprland.enable "hyprland-session.target"; + settings.mainBar = { + name = "bar0"; + reload_style_on_change = true; + position = "top"; + layer = "top"; + height = 37; + margin-top = 0; + margin-bottom = 0; + margin-left = 0; + margin-right = 0; + modules-left = + [ + "custom/launcher" + ] + ++ (lib.optionals isDesktop [ + + "custom/playerctl#backward" + "custom/playerctl#play" + "custom/playerctl#foward" + ]) + ++ [ + "custom/playerlabel" + ] + ++ (lib.optionals isLaptop [ + "hyprland/workspaces" + ]); + modules-center = lib.mkIf isDesktop [ + "cava#left" + "hyprland/workspaces" + "cava#right" + ]; + modules-right = [ + "tray" + "battery" + "pulseaudio" + "network" + "clock" + ]; + clock = { + format = " {:%a, %d %b, %I:%M %p}"; + tooltip = "true"; + tooltip-format = "{:%Y %B}\n{calendar}"; + format-alt = " {:%d/%m}"; + }; + "hyprland/workspaces" = { + disable-scroll = false; + on-scroll-down = "${pkgs.hyprnome}/bin/hyprnome"; + on-scroll-up = "${pkgs.hyprnome}/bin/hyprnome --previous"; + format = "{icon}"; + on-click = "activate"; + format-icons = { + active = ""; + default = ""; + urgent = ""; + special = "󰠱"; + }; + sort-by-number = true; + }; + "cava#left" = { + framerate = 60; + autosens = 1; + bars = 18; + lower_cutoff_freq = 50; + higher_cutoff_freq = 10000; + method = "pipewire"; + source = "auto"; + stereo = true; + reverse = false; + bar_delimiter = 0; + monstercat = false; + waves = false; + input_delay = 2; + format-icons = [ + "" + "" + "" + "" + "" + "" + "" + "" + ]; + }; + "cava#right" = { + framerate = 60; + autosens = 1; + bars = 18; + lower_cutoff_freq = 50; + higher_cutoff_freq = 10000; + method = "pipewire"; + source = "auto"; + stereo = true; + reverse = false; + bar_delimiter = 0; + monstercat = false; + waves = false; + input_delay = 2; + format-icons = [ + "" + "" + "" + "" + "" + "" + "" + "" + ]; + }; + "custom/playerctl#backward" = { + format = "󰙣 "; + on-click = "playerctl previous"; + on-scroll-up = "playerctl volume .05+"; + on-scroll-down = "playerctl volume .05-"; + }; + "custom/playerctl#play" = { + format = "{icon}"; + return-type = "json"; + exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F"; + on-click = "playerctl play-pause"; + on-scroll-up = "playerctl volume .05+"; + on-scroll-down = "playerctl volume .05-"; + format-icons = { + Playing = "󰏥 "; + Paused = ""; + Stopped = ""; + }; + }; + "custom/playerctl#foward" = { + format = "󰙡 "; + on-click = "playerctl next"; + on-scroll-up = "playerctl volume .05+"; + on-scroll-down = "playerctl volume .05-"; + }; + "custom/playerlabel" = { + format = "󰎈 {} 󰎈"; + return-type = "json"; + max-length = 40; + exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F"; + on-click = ""; + }; + battery = { + states = { + good = 95; + warning = 30; + critical = 15; + }; + format = "{icon} {capacity}%"; + format-charging = " {capacity}%"; + format-plugged = " {capacity}% "; + format-alt = "{icon} {time}"; + format-icons = [ + "" + "" + "" + "" + "" + ]; + }; + + memory = { + format = "󰍛 {}%"; + format-alt = "󰍛 {used}/{total} GiB"; + interval = 5; + }; + cpu = { + format = "󰻠 {usage}%"; + format-alt = "󰻠 {avg_frequency} GHz"; + interval = 5; + }; + network = { + format-wifi = " {signalStrength}%"; + format-ethernet = "󰈀 100% "; + tooltip-format = "Connected to {essid} {ifname} via {gwaddr}"; + format-linked = "{ifname} (No IP)"; + format-disconnected = "󰖪 0% "; + }; + tray = { + icon-size = 20; + spacing = 8; + }; + pulseaudio = { + format = "{icon} {volume}%"; + format-muted = "󰝟"; + format-icons = { + default = [ + "󰕿" + "󰖀" + "󰕾" + ]; + }; + scroll-step = 5; + on-click = "${pkgs.pavucontrol}/bin/pavucontrol"; + }; + "custom/launcher" = + let + toggle-colorscheme = pkgs.writeShellScriptBin "toggle-colorscheme.sh" '' + POLARITY_FILE="/etc/polarity" + + if [[ ! -f "$POLARITY_FILE" ]]; then + exit 0 + elif [[ ! -r "$POLARITY_FILE" ]]; then + echo "Error: Cannot read $POLARITY_FILE. Check permissions." >&2 + exit 1 + fi + + current_scheme=$(cat "$POLARITY_FILE") + if [[ $? -ne 0 ]]; then + echo "Error: Failed to read content from $POLARITY_FILE." >&2 + exit 1 + fi + + current_scheme=$(echo "$current_scheme" | xargs) + + target_service="" + case "$current_scheme" in + dawn) + target_service="colorscheme-dusk.service" + ;; + dusk) + target_service="colorscheme-dawn.service" + ;; + *) + echo "Error: Invalid content '$current_scheme' found in $POLARITY_FILE. Expected 'dawn' or 'dusk'." >&2 + exit 1 + ;; + esac + + echo "Current scheme: '$current_scheme'. Attempting to start '$target_service'..." + systemctl start "$target_service" + + if [[ $? -ne 0 ]]; then + echo "Error: Failed to execute 'systemctl start $target_service'. Check systemctl logs or permissions." >&2 + exit 1 + else + echo "Command 'systemctl start $target_service' executed successfully." + fi + + exit 0 + ''; + in + { + format = ""; + on-click = "pkill -9 rofi || rofi -show drun"; + on-click-right = "${toggle-colorscheme}/bin/toggle-colorscheme.sh"; + tooltip = "false"; + }; + }; + style = + '' + * { + border: none; + border-radius: 0px; + font-family: GeistMono Nerd Font; + font-size: 13px; + min-height: 0; + } + window#waybar { + background: #${palette.base01}; + } + + #cava.left, #cava.right { + background: #${palette.base00}; + margin: 4px; + padding: 6px 16px; + color: #${palette.base00}; + } + #cava.left { + border-radius: 24px 10px 24px 10px; + } + #cava.right { + border-radius: 10px 24px 10px 24px; + } + #workspaces { + background: #${palette.base00}; + color: #${palette.base00} + } + #workspaces button { + padding: 0px 5px; + margin: 0px 3px; + border-radius: 16px; + color: transparent; + background: #${palette.base01}; + transition: all 0.3s ease-in-out; + } + + #workspaces button.active { + background-color: #${palette.base0A}; + color: #${palette.base01}; + border-radius: 16px; + min-width: 50px; + background-size: 400% 400%; + transition: all 0.3s ease-in-out; + } + + #workspaces button:hover { + background-color: #${palette.base05}; + color: #${palette.base01}; + border-radius: 16px; + min-width: 50px; + background-size: 400% 400%; + } + + #tray, #pulseaudio, #network, #battery, + #custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward{ + background: #${palette.base00}; + font-weight: bold; + margin: 4px 0px; + } + #tray, #pulseaudio, #network, #battery{ + color: #${palette.base05}; + border-radius: 10px 24px 10px 24px; + padding: 0 20px; + margin-left: 7px; + } + #clock { + color: #${palette.base05}; + background: #${palette.base00}; + border-radius: 0px 0px 0px 40px; + padding: 8px 10px 8px 25px; + margin-left: 7px; + font-weight: bold; + font-size: 14px; + } + #custom-launcher { + color: #${palette.base0A}; + background: #${palette.base00}; + border-radius: 0px 0px 40px 0px; + margin: 0px; + padding: 0px 35px 0px 15px; + font-size: 24px; + } + + #custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward { + background: #${palette.base00}; + font-size: 20px; + } + #custom-playerctl.backward:hover, #custom-playerctl.play:hover, #custom-playerctl.foward:hover{ + color: #${palette.base05}; + } + #custom-playerctl.backward { + color: #${palette.base08}; + border-radius: 24px 0px 0px 10px; + padding-left: 16px; + margin-left: 7px; + } + #custom-playerctl.play { + color: #${palette.base0A}; + padding: 0 5px; + } + #custom-playerctl.foward { + color: #${palette.base08}; + border-radius: 0px 10px 24px 0px; + padding-right: 12px; + margin-right: 7px + } + #custom-playerlabel { + background: #${palette.base00}; + color: #${palette.base05}; + padding: 0 20px; + border-radius: 24px 10px 24px 10px; + margin: 4px 0; + font-weight: bold; + } + #window{ + background: #${palette.base00}; + padding-left: 15px; + padding-right: 15px; + border-radius: 16px; + margin-top: 4px; + margin-bottom: 4px; + font-weight: normal; + font-style: normal; + } + '' + + (lib.optionalString isLaptop '' + #workspaces { + margin: 4px; + padding: 6px 16px; + border-radius: 24px 10px 24px 10px; + } + '') + + (lib.optionalString isDesktop '' + #workspaces { + margin: 4px 5px; + padding: 6px 5px; + border-radius: 16px; + } + ''); + }; + }; +} diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 79cf463..112f0c0 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -220,13 +220,6 @@ extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; }; - programs.rofi = { - enable = true; - cycle = true; - location = "center"; - package = pkgs.rofi-wayland; - }; - services.dunst.enable = true; programs.git = { diff --git a/users/kaitotlex/stylix/default.nix b/users/kaitotlex/stylix/default.nix index 5ad9af1..035671e 100644 --- a/users/kaitotlex/stylix/default.nix +++ b/users/kaitotlex/stylix/default.nix @@ -3,7 +3,9 @@ waybar.enable = false; kitty.variant256Colors = true; neovim.enable = false; - sway.enable = true; - swaylock.enable = true; + hyprland.enable = false; + hyprlock.enable = false; + rofi.enable = false; + swaync.enable = false; }; } From d8f2b934b38297ac816a2d4563498d2c1137010d Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Sun, 27 Apr 2025 11:57:59 -0700 Subject: [PATCH 05/40] fix? --- modules/desktop-environment/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop-environment/default.nix b/modules/desktop-environment/default.nix index 33981e5..15436df 100644 --- a/modules/desktop-environment/default.nix +++ b/modules/desktop-environment/default.nix @@ -32,7 +32,7 @@ in "desktop" ] ); - default = "desktop"; + default = "laptop"; description = '' Form factor of the machine. Adjusts some UI settings. ''; From e4f4e6ed855e5a2808e05dc04a4adf6cd5591f3f Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Sun, 27 Apr 2025 16:14:17 -0700 Subject: [PATCH 06/40] rice fix --- modules/stylix/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/stylix/default.nix b/modules/stylix/default.nix index 802ccb8..cf3f236 100644 --- a/modules/stylix/default.nix +++ b/modules/stylix/default.nix @@ -8,7 +8,7 @@ enable = true; image = "${inputs.wallpapers}/math/fastInversNord.png"; polarity = "dark"; - base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/heetch.yaml"; fonts = { serif = { From 47a285b72ba7c8f80e622a6aa74fdf9e03b17315 Mon Sep 17 00:00:00 2001 From: Kaito T Lex Date: Sun, 27 Apr 2025 15:55:02 -0700 Subject: [PATCH 07/40] feat: sensitivity 0 --- users/kaitotlex/desktop-environment/hyprland/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/kaitotlex/desktop-environment/hyprland/default.nix b/users/kaitotlex/desktop-environment/hyprland/default.nix index ab83cd4..190de2b 100644 --- a/users/kaitotlex/desktop-environment/hyprland/default.nix +++ b/users/kaitotlex/desktop-environment/hyprland/default.nix @@ -211,7 +211,7 @@ in }; }; input = { - sensitivity = if config.liminalOS.formFactor == "laptop" then "0.0" else "-0.65"; + sensitivity = "0.0"; }; plugin.scroller = { column_widths = "onethird onehalf twothirds one"; From 6c99d574928c6c3bfd7eed1bc0dbaabad88fd80c Mon Sep 17 00:00:00 2001 From: Kaito T Lex Date: Sun, 27 Apr 2025 16:20:54 -0700 Subject: [PATCH 08/40] feat(shiroko): display scaling --- flake.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 4fba3ff..6293fc0 100644 --- a/flake.nix +++ b/flake.nix @@ -24,7 +24,6 @@ }; ucodenix = { url = "github:e-tho/ucodenix"; - inputs.nixpkgs.follows = "nixpkgs"; }; wallpapers = { url = "github:kaitotlex/wallpaper"; @@ -81,7 +80,14 @@ inherit inputs; }; users.kaitotlex = { - imports = [ ./users/kaitotlex ]; + imports = [ + ./users/kaitotlex + { + wayland.windowManager.hyprland.settings.monitor = [ + "eDP-1,1920x1200@120,0x0,1.25" + ]; + } + ]; }; }; } From 80b1de75a83f8af04f6bad88043f2623c3eb1822 Mon Sep 17 00:00:00 2001 From: Kaito T Lex Date: Sun, 27 Apr 2025 16:22:44 -0700 Subject: [PATCH 09/40] Revert "fix?" This reverts commit d8f2b934b38297ac816a2d4563498d2c1137010d. --- modules/desktop-environment/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/desktop-environment/default.nix b/modules/desktop-environment/default.nix index 15436df..33981e5 100644 --- a/modules/desktop-environment/default.nix +++ b/modules/desktop-environment/default.nix @@ -32,7 +32,7 @@ in "desktop" ] ); - default = "laptop"; + default = "desktop"; description = '' Form factor of the machine. Adjusts some UI settings. ''; From a86000d48837cec13905b7af28045bd3246f0202 Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Sun, 27 Apr 2025 21:39:50 -0700 Subject: [PATCH 10/40] refactor: use programs.vesktop.enable so stylix works again --- users/kaitotlex/home.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 112f0c0..90babd0 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -197,7 +197,6 @@ git-credential-oauth # messaging apps - vesktop signal-desktop gh @@ -222,6 +221,8 @@ services.dunst.enable = true; + programs.vesktop.enable = true; + programs.git = { enable = true; userName = "KaitoTLex"; From 28597f22fc5c0f344cd887cd4393fbcff723d226 Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Sun, 27 Apr 2025 21:40:02 -0700 Subject: [PATCH 11/40] chore: disable dunst because swaync is also enabled --- users/kaitotlex/home.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 90babd0..32e12fb 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -219,8 +219,6 @@ extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; }; - services.dunst.enable = true; - programs.vesktop.enable = true; programs.git = { From 944cebb04d2ddb7def1d96488d25ae48ac9531f2 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 13 May 2025 20:59:43 -0700 Subject: [PATCH 12/40] Bi-Weekly Update: Added Packages, modified TUIGreet, etc --- flake.lock | 74 +++++++++---------- flake.nix | 3 +- modules/stylix/default.nix | 2 +- modules/wm/default.nix | 2 +- .../desktop-environment/hyprland/default.nix | 2 +- users/kaitotlex/home.nix | 7 +- 6 files changed, 47 insertions(+), 43 deletions(-) diff --git a/flake.lock b/flake.lock index f1d86b0..7b065bd 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1745523430, - "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=", + "lastModified": 1746562888, + "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "58bfe2553d937d8af0564f79d5b950afbef69717", + "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", "type": "github" }, "original": { @@ -70,17 +70,17 @@ "cpu-microcodes": { "flake": false, "locked": { - "lastModified": 1744580596, - "narHash": "sha256-0WgBGViIPozInkjUZSUKyndN9ldZGtCKlUiiw8VAK3o=", + "lastModified": 1746370478, + "narHash": "sha256-3mpvHkDiQcpXrAS1lNJe2oYbKLTQnCbAkSmIWNF5l98=", "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "58897a4b77be3ebb17ee41c12002cd986d3da6ed", + "rev": "71092548b863438bf630ba54290002694da05655", "type": "github" }, "original": { "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "58897a4b77be3ebb17ee41c12002cd986d3da6ed", + "rev": "71092548b863438bf630ba54290002694da05655", "type": "github" } }, @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1745703610, - "narHash": "sha256-KgaGPlmjJItZ+Xf8mSoRmrsso+sf3K54n9oIP9Q17LY=", + "lastModified": 1747184352, + "narHash": "sha256-GBZulv50wztp5cgc405t1uOkxQYhSkMqeKLI+iSrlpk=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f5819a962489e037a57835f63ed6ff8dbc2d5fb", + "rev": "7c1cefb98369cc85440642fdccc1c1394ca6dd2c", "type": "github" }, "original": { @@ -267,11 +267,11 @@ ] }, "locked": { - "lastModified": 1745439012, - "narHash": "sha256-TwbdiH28QK7Da2JQTqFHdb+UCJq6QbF2mtf+RxHVzEA=", + "lastModified": 1747021744, + "narHash": "sha256-IDsM/9/tHQBlhG3tXI2fTM84AUN1uRa7JDPT1LMlGes=", "owner": "nix-community", "repo": "home-manager", - "rev": "d31710fb2cd536b1966fee2af74e99a0816a61a8", + "rev": "fb061f555f821fe4fb49f8f6f2a0cc3d5728bd52", "type": "github" }, "original": { @@ -297,11 +297,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1746904237, + "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", "type": "github" }, "original": { @@ -313,11 +313,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1741462378, + "narHash": "sha256-ZF3YOjq+vTcH51S+qWa1oGA9FgmdJ67nTNPG2OIlXDc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "2d9e4457f8e83120c9fdf6f1707ed0bc603e5ac9", "type": "github" }, "original": { @@ -358,11 +358,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745459908, - "narHash": "sha256-bWqgohVf/py9EW3bLS/dYbenD2p9N2/Qsw1+CJk1S04=", + "lastModified": 1746056780, + "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=", "owner": "nix-community", "repo": "NUR", - "rev": "dbc4ba3233b2bf951521177bf0ee0a7679959035", + "rev": "d476cd0972dd6242d76374fcc277e6735715c167", "type": "github" }, "original": { @@ -423,11 +423,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1745727291, - "narHash": "sha256-YW/V93WgJur6a3BVa1jynlKr2pyZlEpiXXjQjpSHc5s=", + "lastModified": 1746937129, + "narHash": "sha256-Dx/YpnRridWnxF0Xpz9FUP3kl/m2QAOM2BM3KNls3sk=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "9e5c7a2e7f1ab3118ec9b7179eb28667a3575f0e", + "rev": "8f1c5c34cf5f99e1d7197d6d9fa7dd44f00966f0", "type": "github" }, "original": { @@ -460,11 +460,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1745618823, - "narHash": "sha256-WGKSI0+CY3Ep2YnRASmBRU8oMIvTW4ngFyjA0dVcKgQ=", + "lastModified": 1747170169, + "narHash": "sha256-LRP/8RejiA1IkdN7WEcmEMQC+FSoqyvZ5UYfU12JjiI=", "owner": "danth", "repo": "stylix", - "rev": "11ceb2fde1901dc227421bbbef2d0800339f5126", + "rev": "1466793570f22c56fc9f606151bcb306fcaa3551", "type": "github" }, "original": { @@ -612,11 +612,11 @@ "cpu-microcodes": "cpu-microcodes" }, "locked": { - "lastModified": 1744630518, - "narHash": "sha256-xRbcLC6AVjB8etaw1T9MEywqjuRWeZZu5Ee8RU3q4R0=", + "lastModified": 1746447632, + "narHash": "sha256-h/9skHfT2+bHBUXX0CGZROknobw7/+X8bAa+kDv0rkE=", "owner": "e-tho", "repo": "ucodenix", - "rev": "b26e195f4272306f6bd30445bb73657449a1f574", + "rev": "355238cbd87e5bf9cbc23ae65b90740eb10e8d56", "type": "github" }, "original": { @@ -628,11 +628,11 @@ "wallpapers": { "flake": false, "locked": { - "lastModified": 1742250162, - "narHash": "sha256-3OEwa3lw5QIgu3tyiTGTkqacsMZ6Ae6zmg8qg3rsc1Y=", + "lastModified": 1745796213, + "narHash": "sha256-op3AWIjxLTLEOY+AFGWdmxS+BVhPn3F4TXvr9e+7Vjc=", "owner": "kaitotlex", "repo": "wallpaper", - "rev": "f49c027edde33735beae02580b4a2a9b88cc7b04", + "rev": "6cfb73683b4027b3a17dde128f924e817131b760", "type": "github" }, "original": { @@ -648,11 +648,11 @@ ] }, "locked": { - "lastModified": 1745121923, - "narHash": "sha256-8X9JuDfxAEQlBhB0ARgFj9fbDOlCvPx6AbQ1h2T47/g=", + "lastModified": 1746763614, + "narHash": "sha256-tfBsztz6aUcfIFK8Sewn44mkMXZs8rRQfmHBjVhkUBM=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "02084a38e9dbc4fa17f3474c3e9d43bb7db55799", + "rev": "154aa27229783bca87c3ea3ac4ef32ab9b99cdb6", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 6293fc0..f872b89 100644 --- a/flake.nix +++ b/flake.nix @@ -84,7 +84,8 @@ ./users/kaitotlex { wayland.windowManager.hyprland.settings.monitor = [ - "eDP-1,1920x1200@120,0x0,1.25" + "eDP-1,1920x1200@120,0x0,1" + "DP-1, 1920x1080@144.04,1920x0,1" ]; } ]; diff --git a/modules/stylix/default.nix b/modules/stylix/default.nix index cf3f236..12fc253 100644 --- a/modules/stylix/default.nix +++ b/modules/stylix/default.nix @@ -6,7 +6,7 @@ stylix = { enable = true; - image = "${inputs.wallpapers}/math/fastInversNord.png"; + image = "${inputs.wallpapers}/anime/mafuyuMum.jpg"; polarity = "dark"; base16Scheme = "${pkgs.base16-schemes}/share/themes/heetch.yaml"; diff --git a/modules/wm/default.nix b/modules/wm/default.nix index 3a3b4a2..f68e700 100644 --- a/modules/wm/default.nix +++ b/modules/wm/default.nix @@ -4,7 +4,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway --remember --greeting 'Access is restricted to authorized personnel only.'"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass'"; user = "greeter"; }; }; diff --git a/users/kaitotlex/desktop-environment/hyprland/default.nix b/users/kaitotlex/desktop-environment/hyprland/default.nix index 190de2b..12ff053 100644 --- a/users/kaitotlex/desktop-environment/hyprland/default.nix +++ b/users/kaitotlex/desktop-environment/hyprland/default.nix @@ -211,7 +211,7 @@ in }; }; input = { - sensitivity = "0.0"; + sensitivity = "-0.25"; }; plugin.scroller = { column_widths = "onethird onehalf twothirds one"; diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 112f0c0..8810eaf 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -22,7 +22,11 @@ home.packages = with pkgs; [ # here is some command line tools I use frequently # feel free to add your own or remove some of them - #gfortran14 + #gfortran1 + gimp3 + openssl + cmake + obs-studio python312Packages.pip pipx rpcs3 @@ -40,7 +44,6 @@ arduino-language-server geoclue2 lua - tetrio-desktop prismlauncher asciiquarium-transparent fortune From 4d461cc8ad020a8672392ff0219ea040fae87218 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 13 May 2025 21:05:34 -0700 Subject: [PATCH 13/40] feat: Hyprland on Kuroko --- hosts/kuroko/configuration.nix | 18 +++++++++--------- hosts/kuroko/default.nix | 1 + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/hosts/kuroko/configuration.nix b/hosts/kuroko/configuration.nix index 8cdaa62..e7b972b 100644 --- a/hosts/kuroko/configuration.nix +++ b/hosts/kuroko/configuration.nix @@ -25,15 +25,15 @@ services.ratbagd.enable = true; hardware.pulseaudio.support32Bit = true; - # boot.kernelParams = [ - # "mem_sleep_default=deep" - # ]; - # systemd.sleep.extraConfig = '' - # AllowSuspend=yes - # AllowHibernation=yes - # AllowHybridSleep=yes - # AllowSuspendThenHibernate=yes - # ''; + boot.kernelParams = [ + "mem_sleep_default=deep" + ]; + systemd.sleep.extraConfig = '' + AllowSuspend=yes + AllowHibernation=yes + AllowHybridSleep=yes + AllowSuspendThenHibernate=yes + ''; #Nvidia Hardware begins services.xserver.videoDrivers = [ diff --git a/hosts/kuroko/default.nix b/hosts/kuroko/default.nix index a3cfae5..7f930eb 100644 --- a/hosts/kuroko/default.nix +++ b/hosts/kuroko/default.nix @@ -7,5 +7,6 @@ ../../modules/audio ../../modules/stylix ../../modules/electrical + ../../modules/desktop-environment/ ]; } From 3e9bea14ca1dd28885699b0171481543b0e9cb5c Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 13 May 2025 21:14:24 -0700 Subject: [PATCH 14/40] update: README.md --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 791d9bd..6ad9b8e 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,11 @@ > Fully customizable container-based operating system based on ```NixOS``` running SwayDE. ## What even is this Config? So I believe I have no life, so I migrated from a super unstable and limited OS (DOS) to FreeBSD, however FreeBSD had limited packages being maintained on **Fresh Ports** so I figured might as well become a Linux user. After distro hopping for 3 months I was introduced to NixOS by [Youwen](https://youwen.dev) claiming that it would solve my problems of having to configure everything on seperate directories, common on most distros such as Arch or Debian. -## Why Sway and Wayland -Wayland provides a more stable graphical enviornment due to the simplicity of the code and it's security; moreover, it peforms significantly better on intergrated and discrete graphics cards for most of my systems. Why Sway and not Hyprland? Sway is a simple port of the popular x11 DE known as i3. Hyprland has too much eyecandy for a DE, too much bells and whistles such as dynamic colors and rounded edges. Also removing eyecandy on my config makes my input smoother and crispier. + + +## Why switch to Hyprland +Although Sway is a reliable and well developed window manager, it doesn't offer the same versatility as Hyprland in Wayland. Hyprland, although has too much eyecandy, it does offer a more polished and complete operating system especially to display beautiful color scheme. I adopted youwen's Hyprland configuration because it is preconfigured and it has all that I need in terms of productivity in this operating system. + ## What Basic Utilites do you have on here? - Firefox Developer Edition - Spotify (Spicetify) @@ -27,7 +30,7 @@ ROG (ASUS) Flow X13 2022 > 16 GB LPDDR4 -> 1TB Crucial (Allocated 128 for NixOS) +> 256 GB Kioxia ## How to Install or Clone @@ -52,6 +55,6 @@ cp /etc/nixos/hardware-configuration.nix ~/KaitoianOS/hosts/shiroko/hardware-con 5. Recompile your os by ```sh -sudo nixos-rebuild switch --flake .\#shiroko #or kuroko +sudo nixos-rebuild switch --flake .#shiroko #or kuroko ``` 6. Enjoy! From 59d3fa9ebdd7ae248da31d6a57c09e1f588ee281 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 13 May 2025 21:15:22 -0700 Subject: [PATCH 15/40] update: README.md --- modules/wm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/wm/default.nix b/modules/wm/default.nix index f68e700..5d29beb 100644 --- a/modules/wm/default.nix +++ b/modules/wm/default.nix @@ -4,7 +4,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass'"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway --remember --asterisks --greeting 'Access granted for those who don't touch grass'"; user = "greeter"; }; }; From f8e5c16d50a94fda0dc28c2d5604a1a792fa7a20 Mon Sep 17 00:00:00 2001 From: Kaito T Lex Date: Wed, 14 May 2025 00:31:26 -0700 Subject: [PATCH 16/40] fix: build --- hosts/kuroko/configuration.nix | 2 +- hosts/kuroko/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/kuroko/configuration.nix b/hosts/kuroko/configuration.nix index e7b972b..7662236 100644 --- a/hosts/kuroko/configuration.nix +++ b/hosts/kuroko/configuration.nix @@ -150,7 +150,7 @@ }; #System specific packages to install environment.systemPackages = with pkgs; [ - nvtop + # nvtop osu-lazer davinci-resolve wacomtablet diff --git a/hosts/kuroko/default.nix b/hosts/kuroko/default.nix index 7f930eb..928917f 100644 --- a/hosts/kuroko/default.nix +++ b/hosts/kuroko/default.nix @@ -7,6 +7,6 @@ ../../modules/audio ../../modules/stylix ../../modules/electrical - ../../modules/desktop-environment/ + ../../modules/desktop-environment ]; } From a8bd9b223a1227d2a1268a8b2ae9bab8afe469a4 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Wed, 14 May 2025 16:45:15 -0700 Subject: [PATCH 17/40] update:greetd command --- modules/wm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/wm/default.nix b/modules/wm/default.nix index 5d29beb..f68e700 100644 --- a/modules/wm/default.nix +++ b/modules/wm/default.nix @@ -4,7 +4,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway --remember --asterisks --greeting 'Access granted for those who don't touch grass'"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass'"; user = "greeter"; }; }; From 8991709cf3612f3cafaf549dfb05e161aa07975e Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Wed, 14 May 2025 16:57:07 -0700 Subject: [PATCH 18/40] no --- modules/wm/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/wm/default.nix b/modules/wm/default.nix index f68e700..9435185 100644 --- a/modules/wm/default.nix +++ b/modules/wm/default.nix @@ -4,7 +4,8 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass'"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --asterisks"; + # --remember tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass' user = "greeter"; }; }; From a717f9c14f80ed93ffe7312d97ffd2604924bc10 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Sun, 18 May 2025 16:01:01 -0700 Subject: [PATCH 19/40] added secureboot to shiroko --- flake.lock | 227 +++++++++++++++++++++++++++++++++++++++++++++++------ flake.nix | 26 ++++++ 2 files changed, 229 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 7b065bd..77c4b8f 100644 --- a/flake.lock +++ b/flake.lock @@ -84,6 +84,21 @@ "type": "github" } }, + "crane": { + "locked": { + "lastModified": 1731098351, + "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", + "owner": "ipetkov", + "repo": "crane", + "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "firefox-gnome-theme": { "flake": false, "locked": { @@ -101,6 +116,22 @@ } }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -116,6 +147,27 @@ } }, "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "stylix", @@ -180,7 +232,7 @@ "stylix", "flake-compat" ], - "gitignore": "gitignore", + "gitignore": "gitignore_2", "nixpkgs": [ "stylix", "nixpkgs" @@ -201,6 +253,28 @@ } }, "gitignore": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "pre-commit-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { "inputs": { "nixpkgs": [ "stylix", @@ -246,11 +320,11 @@ ] }, "locked": { - "lastModified": 1747184352, - "narHash": "sha256-GBZulv50wztp5cgc405t1uOkxQYhSkMqeKLI+iSrlpk=", + "lastModified": 1747367409, + "narHash": "sha256-JUcfcXCsoerQNQDhujj6LNBI/9LOkjUrLNR0tjcU0Gc=", "owner": "nix-community", "repo": "home-manager", - "rev": "7c1cefb98369cc85440642fdccc1c1394ca6dd2c", + "rev": "a1a72d18ee75ce4559b5f59296a7b2d37f608c1c", "type": "github" }, "original": { @@ -267,11 +341,11 @@ ] }, "locked": { - "lastModified": 1747021744, - "narHash": "sha256-IDsM/9/tHQBlhG3tXI2fTM84AUN1uRa7JDPT1LMlGes=", + "lastModified": 1747279714, + "narHash": "sha256-UdxlE8yyrKiGq3bgGyJ78AdFwh+fuRAruKtyFY5Zq5I=", "owner": "nix-community", "repo": "home-manager", - "rev": "fb061f555f821fe4fb49f8f6f2a0cc3d5728bd52", + "rev": "954615c510c9faa3ee7fb6607ff72e55905e69f2", "type": "github" }, "original": { @@ -280,6 +354,30 @@ "type": "github" } }, + "lanzaboote": { + "inputs": { + "crane": "crane", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs", + "pre-commit-hooks-nix": "pre-commit-hooks-nix", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1737639419, + "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", + "owner": "nix-community", + "repo": "lanzaboote", + "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.4.2", + "repo": "lanzaboote", + "type": "github" + } + }, "nixCats": { "locked": { "lastModified": 1741608660, @@ -297,11 +395,43 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746904237, - "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", + "lastModified": 1731919951, + "narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "04386ac325a813047fc314d4b4d838a5b1e3c7fe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1747179050, + "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", + "rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e", "type": "github" }, "original": { @@ -311,7 +441,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1741462378, "narHash": "sha256-ZF3YOjq+vTcH51S+qWa1oGA9FgmdJ67nTNPG2OIlXDc=", @@ -330,7 +460,7 @@ "nixvim": { "inputs": { "nixCats": "nixCats", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "plugins-blink-ripgrep": "plugins-blink-ripgrep", "plugins-pomo-nvim": "plugins-pomo-nvim" }, @@ -350,7 +480,7 @@ }, "nur": { "inputs": { - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "nixpkgs": [ "stylix", "nixpkgs" @@ -403,10 +533,38 @@ "type": "github" } }, + "pre-commit-hooks-nix": { + "inputs": { + "flake-compat": [ + "lanzaboote", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "lanzaboote": "lanzaboote", + "nixpkgs": "nixpkgs_2", "nixvim": "nixvim", "spicetify": "spicetify", "stylix": "stylix", @@ -415,6 +573,27 @@ "zen": "zen" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731897198, + "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "spicetify": { "inputs": { "nixpkgs": [ @@ -423,11 +602,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1746937129, - "narHash": "sha256-Dx/YpnRridWnxF0Xpz9FUP3kl/m2QAOM2BM3KNls3sk=", + "lastModified": 1747355848, + "narHash": "sha256-WpOTfGuObhpaI38+uHgaOwnMAjHMrdLrfs6D35fKwjk=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "8f1c5c34cf5f99e1d7197d6d9fa7dd44f00966f0", + "rev": "a2bc0d49449fc61ca2eb364d6189179059394483", "type": "github" }, "original": { @@ -443,7 +622,7 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-utils": "flake-utils", "git-hooks": "git-hooks", "gnome-shell": "gnome-shell", @@ -460,11 +639,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1747170169, - "narHash": "sha256-LRP/8RejiA1IkdN7WEcmEMQC+FSoqyvZ5UYfU12JjiI=", + "lastModified": 1747365543, + "narHash": "sha256-r5HRe9CRFe6qvy7KLkTX9WySTqkNmvlobTR8g5AHLHA=", "owner": "danth", "repo": "stylix", - "rev": "1466793570f22c56fc9f606151bcb306fcaa3551", + "rev": "7566bc015064ed3eb50b436f2225ddab06132beb", "type": "github" }, "original": { @@ -648,11 +827,11 @@ ] }, "locked": { - "lastModified": 1746763614, - "narHash": "sha256-tfBsztz6aUcfIFK8Sewn44mkMXZs8rRQfmHBjVhkUBM=", + "lastModified": 1747282003, + "narHash": "sha256-UlCfXNncIYwUvPxHngoH6pY4fiZlU8Z2Ve/gUEn6h+o=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "154aa27229783bca87c3ea3ac4ef32ab9b99cdb6", + "rev": "952ca99903f19a7096a3709f2938d9c7840a5f91", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f872b89..b1e7db5 100644 --- a/flake.nix +++ b/flake.nix @@ -29,12 +29,16 @@ url = "github:kaitotlex/wallpaper"; flake = false; }; + lanzaboote = { + url = "github:nix-community/lanzaboote/v0.4.2"; + }; }; outputs = { nixpkgs, home-manager, + lanzaboote, ... }@inputs: { @@ -69,7 +73,29 @@ system = "x86_64-linux"; modules = [ ./hosts/shiroko + lanzaboote.nixosModules.lanzaboote + ( + { pkgs, lib, ... }: + { + + environment.systemPackages = [ + # For debugging and troubleshooting Secure Boot. + pkgs.sbctl + ]; + + # Lanzaboote currently replaces the systemd-boot module. + # This setting is usually set to true in configuration.nix + # generated at installation time. So we force it to false + # for now. + boot.loader.systemd-boot.enable = lib.mkForce false; + + boot.lanzaboote = { + enable = true; + pkiBundle = "/var/lib/sbctl"; + }; + } + ) home-manager.nixosModules.home-manager { home-manager = { From 818abe789b6301e8b33c060dbd1f71e5b2b7314b Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Sun, 18 May 2025 17:42:52 -0700 Subject: [PATCH 20/40] feat: overhaul of the Kuroko, Secureboot and per-device Signing --- flake.nix | 40 +++++++++++++++++++++++++++++++++++++++- users/kaitotlex/home.nix | 5 ----- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index b1e7db5..9a18527 100644 --- a/flake.nix +++ b/flake.nix @@ -50,6 +50,29 @@ system = "x86_64-linux"; modules = [ ./hosts/kuroko + lanzaboote.nixosModules.lanzaboote + + ( + { pkgs, lib, ... }: + { + + environment.systemPackages = [ + # For debugging and troubleshooting Secure Boot. + pkgs.sbctl + ]; + + # Lanzaboote currently replaces the systemd-boot module. + # This setting is usually set to true in configuration.nix + # generated at installation time. So we force it to false + # for now. + boot.loader.systemd-boot.enable = lib.mkForce false; + + boot.lanzaboote = { + enable = true; + pkiBundle = "/var/lib/sbctl"; + }; + } + ) home-manager.nixosModules.home-manager { home-manager = { @@ -60,7 +83,18 @@ inherit inputs; }; users.kaitotlex = { - imports = [ ./users/kaitotlex ]; + imports = [ + ./users/kaitotlex + { + wayland.windowManager.hyprland.settings.monitor = [ + "eDP-1,1920x1200@120,0x0,.90" + ]; + programs.git.signing = { + signByDefault = true; + key = "BC04C0C14AEDA705B8FBACE8C5F52A3C0F3B4A77"; + }; + } + ]; }; }; } @@ -113,6 +147,10 @@ "eDP-1,1920x1200@120,0x0,1" "DP-1, 1920x1080@144.04,1920x0,1" ]; + programs.git.signing = { + signByDefault = true; + key = "BC04C0C14AEDA705B8FBACE8C5F52A3C0F3B4A77"; + }; } ]; }; diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 1a7ff05..03749d9 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -228,11 +228,6 @@ enable = true; userName = "KaitoTLex"; userEmail = "wlin@kaitotlex.systems"; - signing = { - signByDefault = true; - key = "BC04C0C14AEDA705B8FBACE8C5F52A3C0F3B4A77"; - }; - }; programs.neovim.defaultEditor = true; From b411001d7687471feea7dbb52e5a9ec171cf9c4d Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Sun, 18 May 2025 18:32:37 -0700 Subject: [PATCH 21/40] add: bambu lab --- users/kaitotlex/home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 03749d9..e1a829f 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -23,6 +23,7 @@ # here is some command line tools I use frequently # feel free to add your own or remove some of them #gfortran1 + bambu-studio gimp3 openssl cmake From 5e9c4cefa87607e9601503f3003ddb725902b840 Mon Sep 17 00:00:00 2001 From: Ren Lin Date: Tue, 27 May 2025 09:04:30 -0700 Subject: [PATCH 22/40] Create lock.yml --- .github/workflows/lock.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/lock.yml diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml new file mode 100644 index 0000000..f57e1cd --- /dev/null +++ b/.github/workflows/lock.yml @@ -0,0 +1,24 @@ +name: update-flake-lock +on: + workflow_dispatch: # allows manual triggering + schedule: + # Runs weekly at 00:00 UTC on Sunday + - cron: "0 0 * * 0" +jobs: + lockfile: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + with: + github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} + - name: Update flake.lock + uses: DeterminateSystems/update-flake-lock@main + with: + token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} + pr-title: "deps(flake.lock): update" + pr-labels: | + dependencies,auto-merge + pr-assignees: youwen5 From 94fa5c18a4c5d11b679eca288bfe334f8c7843ea Mon Sep 17 00:00:00 2001 From: Ren Lin Date: Tue, 27 May 2025 09:05:49 -0700 Subject: [PATCH 23/40] Create build-nix.yml --- .github/workflows/build-nix.yml | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/build-nix.yml diff --git a/.github/workflows/build-nix.yml b/.github/workflows/build-nix.yml new file mode 100644 index 0000000..e60310d --- /dev/null +++ b/.github/workflows/build-nix.yml @@ -0,0 +1,42 @@ +name: Build system configurations + +on: + pull_request: + +jobs: + build-x86_64-demeter: + runs-on: ubuntu-24.04 + permissions: + contents: read + id-token: write + steps: + - name: Free Disk Space (Ubuntu) + uses: Jayllyz/free-disk-space@perf/use-rmz + - uses: actions/checkout@v4 + - name: Check Nix flake Nixpkgs inputs + uses: DeterminateSystems/flake-checker-action@main + - uses: DeterminateSystems/nix-installer-action@main + with: + github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} + - name: Build demeter + run: | + # nix flake check --all-systems + nix build .#nixosConfigurations.demeter.config.system.build.toplevel + build-aarch64-callisto: + runs-on: ubuntu-24.04-arm + permissions: + contents: read + id-token: write + steps: + - name: Free Disk Space (Ubuntu) + uses: Jayllyz/free-disk-space@perf/use-rmz + - uses: actions/checkout@v4 + - name: Check Nix flake Nixpkgs inputs + uses: DeterminateSystems/flake-checker-action@main + - uses: DeterminateSystems/nix-installer-action@main + with: + github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} + - name: Build callisto + run: | + # nix flake check --all-systems + nix build .#nixosConfigurations.callisto.config.system.build.toplevel From e892f7c2cb9122d8e04c519afaf81c3f16295ef4 Mon Sep 17 00:00:00 2001 From: Ren Lin Date: Tue, 27 May 2025 09:06:22 -0700 Subject: [PATCH 24/40] Create merge.yml --- .github/workflows/merge.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/merge.yml diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml new file mode 100644 index 0000000..70793b9 --- /dev/null +++ b/.github/workflows/merge.yml @@ -0,0 +1,16 @@ +name: auto-merge-labeled +on: + pull_request: +jobs: + auto-merge-labeled: + runs-on: ubuntu-latest + steps: + - id: auto-merge-labeled + name: Auto merge labeled + uses: isolomak/auto-merge-labeled@v1.0.1 + with: + label: 'lock' + commit-title: 'build(lock): update' + merge_method: 'squash' + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} From 10f377c490544dc426e12cce55658fc0b551a9ca Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 09:20:48 -0700 Subject: [PATCH 25/40] Possible fix for the Nvidia Driver --- flake.nix | 5 ++-- hosts/kuroko/configuration.nix | 32 ++++++++++++------------- hosts/kuroko/hardware-configuration.nix | 8 +++---- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/flake.nix b/flake.nix index 9a18527..f37dc33 100644 --- a/flake.nix +++ b/flake.nix @@ -87,11 +87,12 @@ ./users/kaitotlex { wayland.windowManager.hyprland.settings.monitor = [ - "eDP-1,1920x1200@120,0x0,.90" + "eDP-1,1920x1200@120,0x0,1" + "HDMI-A-1,1920x1080@165,1920x0,1" ]; programs.git.signing = { signByDefault = true; - key = "BC04C0C14AEDA705B8FBACE8C5F52A3C0F3B4A77"; + key = "42F52D76F1B15B8D997E2AEE8AB934746F475D0B"; }; } ]; diff --git a/hosts/kuroko/configuration.nix b/hosts/kuroko/configuration.nix index 7662236..442ad28 100644 --- a/hosts/kuroko/configuration.nix +++ b/hosts/kuroko/configuration.nix @@ -18,6 +18,7 @@ # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; virtualisation.waydroid.enable = true; #boot.kernelPackages = pkgs.linuxPackages_5_15; #systemdefaults @@ -28,21 +29,23 @@ boot.kernelParams = [ "mem_sleep_default=deep" ]; - systemd.sleep.extraConfig = '' - AllowSuspend=yes - AllowHibernation=yes - AllowHybridSleep=yes - AllowSuspendThenHibernate=yes - ''; + # systemd.sleep.extraConfig = '' + # AllowSuspend=yes + # AllowHibernation=yes + # AllowHybridSleep=yes + # AllowSuspendThenHibernate=yes + # ''; #Nvidia Hardware begins services.xserver.videoDrivers = [ - "nvidia" "amdgpu" + "nvidia" ]; hardware.graphics.enable = true; hardware.graphics.enable32Bit = true; - + hardware.graphics.extraPackages = with pkgs; [ + amdvlk + ]; hardware.nvidia = { # custom option defined in graphics/default.nix #usePatchedAquamarine = true; @@ -58,7 +61,7 @@ # Fine-grained power management. Turns off GPU when not in use. # Experimental and only works on modern Nvidia GPUs (Turing or newer). - powerManagement.finegrained = lib.mkForce false; + powerManagement.finegrained = lib.mkForce true; # Use the NVidia open source kernel module (not to be confused with the # independent third-party "nouveau" open source driver). @@ -67,7 +70,7 @@ # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # Only available from driver 515.43.04+ # Currently alpha-quality/buggy, so false is currently the recommended setting. - open = lib.mkForce true; + open = lib.mkForce false; # Enable the Nvidia settings menu, # accessible via `nvidia-settings`. @@ -77,14 +80,11 @@ package = config.boot.kernelPackages.nvidiaPackages.beta; #Power Saving Features prime = { - offload = { - enable = true; - enableOffloadCmd = true; - }; + offload.enable = lib.mkForce true; # Make sure to use the correct Bus ID values for your system! #intelBusId = "PCI:"; - nvidiaBusId = "PCI:01:00:0"; - amdgpuBusId = "PCI:08:00:0"; + nvidiaBusId = "PCI:1:0:0"; + amdgpuBusId = "PCI:8:0:0"; }; }; diff --git a/hosts/kuroko/hardware-configuration.nix b/hosts/kuroko/hardware-configuration.nix index 1120d78..c970984 100644 --- a/hosts/kuroko/hardware-configuration.nix +++ b/hosts/kuroko/hardware-configuration.nix @@ -8,20 +8,20 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/50c34d14-4b3a-483c-874e-b6412a474cfe"; + { device = "/dev/disk/by-uuid/def95f35-9630-4015-9e21-97d9518a014d"; fsType = "ext4"; }; - boot.initrd.luks.devices."luks-efb1b312-b89c-493e-952a-f70fc2ab0fbf".device = "/dev/disk/by-uuid/efb1b312-b89c-493e-952a-f70fc2ab0fbf"; + boot.initrd.luks.devices."luks-c69579ed-9b9c-4435-b329-e5c95c945823".device = "/dev/disk/by-uuid/c69579ed-9b9c-4435-b329-e5c95c945823"; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/1826-F6B8"; + { device = "/dev/disk/by-uuid/02A5-BCDF"; fsType = "vfat"; options = [ "fmask=0077" "dmask=0077" ]; }; From 34055eb96b4cbcf34771cf979d1d763ed78150c1 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 11:44:46 -0700 Subject: [PATCH 26/40] added hyprscroller.nix --- flake.lock | 111 ++++---- flake.nix | 4 + modules/wm/default.nix | 2 +- pkgs/vendored/hyprscroller.nix | 48 ++++ users/kaitotlex/default.nix | 2 +- .../desktop-environment/hyprland/default.nix | 252 +++++++++--------- 6 files changed, 237 insertions(+), 182 deletions(-) create mode 100644 pkgs/vendored/hyprscroller.nix diff --git a/flake.lock b/flake.lock index 77c4b8f..dcf6bdc 100644 --- a/flake.lock +++ b/flake.lock @@ -70,17 +70,17 @@ "cpu-microcodes": { "flake": false, "locked": { - "lastModified": 1746370478, - "narHash": "sha256-3mpvHkDiQcpXrAS1lNJe2oYbKLTQnCbAkSmIWNF5l98=", + "lastModified": 1747081695, + "narHash": "sha256-nnim3432n3+iwD2alY1cigQE7GKnI8BkyZDJTzood+E=", "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "71092548b863438bf630ba54290002694da05655", + "rev": "2bcc2d8cb648c3397ea7381ca6887a9e3fdd6164", "type": "github" }, "original": { "owner": "platomav", "repo": "CPUMicrocodes", - "rev": "71092548b863438bf630ba54290002694da05655", + "rev": "2bcc2d8cb648c3397ea7381ca6887a9e3fdd6164", "type": "github" } }, @@ -171,7 +171,6 @@ "inputs": { "nixpkgs-lib": [ "stylix", - "nur", "nixpkgs" ] }, @@ -189,27 +188,6 @@ "type": "github" } }, - "flake-utils": { - "inputs": { - "systems": [ - "stylix", - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "fromYaml": { "flake": false, "locked": { @@ -299,16 +277,16 @@ "gnome-shell": { "flake": false, "locked": { - "lastModified": 1732369855, - "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", + "lastModified": 1744584021, + "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "dadd58f630eeea41d645ee225a63f719390829dc", + "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", "type": "github" }, "original": { "owner": "GNOME", - "ref": "47.2", + "ref": "48.1", "repo": "gnome-shell", "type": "github" } @@ -320,11 +298,11 @@ ] }, "locked": { - "lastModified": 1747367409, - "narHash": "sha256-JUcfcXCsoerQNQDhujj6LNBI/9LOkjUrLNR0tjcU0Gc=", + "lastModified": 1748227609, + "narHash": "sha256-SaSdslyo6UGDpPUlmrPA4dWOEuxCy2ihRN9K6BnqYsA=", "owner": "nix-community", "repo": "home-manager", - "rev": "a1a72d18ee75ce4559b5f59296a7b2d37f608c1c", + "rev": "d23d20f55d49d8818ac1f1b2783671e8a6725022", "type": "github" }, "original": { @@ -341,11 +319,11 @@ ] }, "locked": { - "lastModified": 1747279714, - "narHash": "sha256-UdxlE8yyrKiGq3bgGyJ78AdFwh+fuRAruKtyFY5Zq5I=", + "lastModified": 1747763032, + "narHash": "sha256-9j3oCbemeH7bTVXJ3pDWxOptbxDx2SdK1jY2AHpjQiw=", "owner": "nix-community", "repo": "home-manager", - "rev": "954615c510c9faa3ee7fb6607ff72e55905e69f2", + "rev": "29dda415f5b2178278283856c6f9f7b48a2a4353", "type": "github" }, "original": { @@ -354,6 +332,22 @@ "type": "github" } }, + "hyprscroller-src": { + "flake": false, + "locked": { + "lastModified": 1748269327, + "narHash": "sha256-UfkU8YJCIp5NwW6e+qoRgxZVJYcc6+aRVTdSaHvskTQ=", + "owner": "cpiber", + "repo": "hyprscroller", + "rev": "5b3cdd1fc26be1a0b1936fc36065b2eba84948f4", + "type": "github" + }, + "original": { + "owner": "cpiber", + "repo": "hyprscroller", + "type": "github" + } + }, "lanzaboote": { "inputs": { "crane": "crane", @@ -427,11 +421,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1747179050, - "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", + "lastModified": 1748190013, + "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e", + "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", "type": "github" }, "original": { @@ -480,7 +474,10 @@ }, "nur": { "inputs": { - "flake-parts": "flake-parts_2", + "flake-parts": [ + "stylix", + "flake-parts" + ], "nixpkgs": [ "stylix", "nixpkgs" @@ -563,6 +560,7 @@ "root": { "inputs": { "home-manager": "home-manager", + "hyprscroller-src": "hyprscroller-src", "lanzaboote": "lanzaboote", "nixpkgs": "nixpkgs_2", "nixvim": "nixvim", @@ -602,11 +600,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1747355848, - "narHash": "sha256-WpOTfGuObhpaI38+uHgaOwnMAjHMrdLrfs6D35fKwjk=", + "lastModified": 1748147548, + "narHash": "sha256-9IaAQkgyF4PFtVyui8vF6oJah0iVcO9DaOefjdTMthE=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "a2bc0d49449fc61ca2eb364d6189179059394483", + "rev": "f0595e3b59260457042450749eaec00a5a47db35", "type": "github" }, "original": { @@ -623,7 +621,7 @@ "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils", + "flake-parts": "flake-parts_2", "git-hooks": "git-hooks", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", @@ -639,11 +637,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1747365543, - "narHash": "sha256-r5HRe9CRFe6qvy7KLkTX9WySTqkNmvlobTR8g5AHLHA=", + "lastModified": 1748369100, + "narHash": "sha256-rZO2WC1cVIpmwtBKxkex4lJAM7zqut3+5QKZltBkG5U=", "owner": "danth", "repo": "stylix", - "rev": "7566bc015064ed3eb50b436f2225ddab06132beb", + "rev": "dedf5de5792af6c16560f9cc8864be73ae535251", "type": "github" }, "original": { @@ -702,17 +700,16 @@ "tinted-kitty": { "flake": false, "locked": { - "lastModified": 1716423189, - "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", "owner": "tinted-theming", "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", "type": "github" }, "original": { "owner": "tinted-theming", "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", "type": "github" } }, @@ -791,11 +788,11 @@ "cpu-microcodes": "cpu-microcodes" }, "locked": { - "lastModified": 1746447632, - "narHash": "sha256-h/9skHfT2+bHBUXX0CGZROknobw7/+X8bAa+kDv0rkE=", + "lastModified": 1747656938, + "narHash": "sha256-LE5jjWIN3xzL24ph8U2CwzTPrCxS+uGzXCpSh6b+UPk=", "owner": "e-tho", "repo": "ucodenix", - "rev": "355238cbd87e5bf9cbc23ae65b90740eb10e8d56", + "rev": "86d47e4b5790cc68b3af14ec9969ef8128524d43", "type": "github" }, "original": { @@ -827,11 +824,11 @@ ] }, "locked": { - "lastModified": 1747282003, - "narHash": "sha256-UlCfXNncIYwUvPxHngoH6pY4fiZlU8Z2Ve/gUEn6h+o=", + "lastModified": 1748059546, + "narHash": "sha256-e0jy8RU8ofOdeS5gF9Hir+M5Wn0q7D8MkpeQXsOJdu4=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "952ca99903f19a7096a3709f2938d9c7840a5f91", + "rev": "716a5af28d686d67146d01b14112c919b6133a84", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f37dc33..6f8262e 100644 --- a/flake.nix +++ b/flake.nix @@ -32,6 +32,10 @@ lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; }; + hyprscroller-src = { + url = "github:cpiber/hyprscroller"; + flake = false; + }; }; outputs = diff --git a/modules/wm/default.nix b/modules/wm/default.nix index 9435185..8aa658f 100644 --- a/modules/wm/default.nix +++ b/modules/wm/default.nix @@ -4,7 +4,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --asterisks"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --asterisks --remember"; # --remember tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass' user = "greeter"; }; diff --git a/pkgs/vendored/hyprscroller.nix b/pkgs/vendored/hyprscroller.nix new file mode 100644 index 0000000..d3261b2 --- /dev/null +++ b/pkgs/vendored/hyprscroller.nix @@ -0,0 +1,48 @@ +{ + lib, + hyprland, + pkg-config, + cmake, + src, + version, +}: +let + mkHyprlandPlugin = + hyprland: + args@{ pluginName, ... }: + hyprland.stdenv.mkDerivation ( + args + // { + pname = "${pluginName}"; + nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ]; + buildInputs = [ hyprland ] ++ hyprland.buildInputs ++ (args.buildInputs or [ ]); + meta = args.meta // { + description = args.meta.description or ""; + longDescription = + (args.meta.longDescription or "") + + "\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options."; + }; + } + ); +in +mkHyprlandPlugin hyprland { + inherit src version; + pluginName = "hyprscroller"; + + nativeBuildInputs = [ cmake ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/lib + mv hyprscroller.so $out/lib/libhyprscroller.so + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/cpiber/hyprscroller"; + description = "Hyprland layout plugin providing a scrolling layout like PaperWM"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ youwen5 ]; + platforms = lib.platforms.linux; + }; +} diff --git a/users/kaitotlex/default.nix b/users/kaitotlex/default.nix index 1ff4145..42f8144 100644 --- a/users/kaitotlex/default.nix +++ b/users/kaitotlex/default.nix @@ -6,6 +6,6 @@ ./desktop-environment ]; - liminalOS.formFactor = "desktop"; + liminalOS.formFactor = "laptop"; liminalOS.powersave = false; } diff --git a/users/kaitotlex/desktop-environment/hyprland/default.nix b/users/kaitotlex/desktop-environment/hyprland/default.nix index 12ff053..53dc1f6 100644 --- a/users/kaitotlex/desktop-environment/hyprland/default.nix +++ b/users/kaitotlex/desktop-environment/hyprland/default.nix @@ -3,6 +3,7 @@ config, lib, osConfig, + inputs, ... }: let @@ -98,139 +99,144 @@ in hyprland-qtutils ]; - wayland.windowManager.hyprland = { - enable = true; - plugins = [ - (pkgs.hyprlandPlugins.hyprscroller.overrideAttrs { - version = "0-unstable-2025-03-28"; - src = pkgs.fetchFromGitHub { - owner = "dawsers"; - repo = "hyprscroller"; - rev = "3f86916f3e9a583154b1be0af4e8a1ef1f7435b2"; - hash = "sha256-mgYq3vc4JtIzVuAKTWdALOynImYyNZEXh7tiVPvMZg4="; - }; - }) - ]; - settings = { - exec-once = [ - "hyprctl dispatch workspace 100000" - ]; - "$mod" = "SUPER"; - "$Left" = "H"; - "$Right" = "L"; - "$Up" = "K"; - "$Down" = "J"; - env = ( - lib.optionals cfg.gtkUseOpenGL [ - "GSK_RENDERER,ngl" - ] - ); - layerrule = [ - "blur,rofi" - "ignorezero,rofi" - "animation slide bottom 0.2 0.2 wind,rofi" - "blur,notifications" - "ignorezero,notifications" - "blur,swaync-notification-window" - "animation slide right 0.5 0.5,swaync-control-center" - "animation slide right 0.5 0.5,notifications" - "animation slide right 0.5 0.5,swaync-notification-window" - "ignorezero,swaync-notification-window" - "blur,swaync-control-center" - "ignorezero,swaync-control-center" - "blur,logout_dialog" - ]; - dwindle = { - pseudotile = "yes"; - preserve_split = "yes"; + wayland.windowManager.hyprland = + let + hyprscroller = pkgs.callPackage ./pkgs/vendored/hyprscroller.nix { + src = inputs.hyprscroller-src; + version = inputs.hyprscroller-src.lastModified; }; - animations = { - enabled = "yes"; - bezier = [ - "wind, 0.05, 0.9, 0.1, 1.05" - "winIn, 0.1, 1.1, 0.1, 1.1" - "winOut, 0.3, -0.3, 0, 1" - "liner, 1, 1, 1, 1" - "windup, 0.05, 0.9, 0.1, 1.05" + in + { + enable = true; + plugins = [ hyprscroller ]; + settings = { + input.touchpad = lib.mkIf (config.liminalOS.formFactor == "laptop") { + natural_scroll = true; + disable_while_typing = true; + clickfinger_behavior = true; + tap-to-click = false; + scroll_factor = 0.15; + }; + + exec-once = [ + "hyprctl dispatch workspace 100000" ]; - animation = - [ - "windows, 1, 6, wind, slide" - "windowsIn, 1, 6, winIn, slide" - "windowsOut, 1, 5, winOut, slide" - "windowsMove, 1, 5, wind, slide" - "fade, 1, 10, default" - # "layers, 1, 8, default, slide" - "workspaces, 1, 5, wind, slidefadevert" + "$mod" = "SUPER"; + "$Left" = "H"; + "$Right" = "L"; + "$Up" = "K"; + "$Down" = "J"; + env = ( + lib.optionals cfg.gtkUseOpenGL [ + "GSK_RENDERER,ngl" ] - ++ (lib.optionals (!osConfig.liminalOS.powersave) [ - "border, 1, 1, liner" - "borderangle, 1, 30, liner, loop" - ]); - }; - - general = - let - inherit (config.lib.stylix) colors; - in - { - gaps_in = "3"; - gaps_out = "8"; - border_size = "2"; - # "col.active_border" = pkgs.lib.mkForce "rgba(ca9ee6ff) rgba(f2d5cfff) 45deg"; - # "col.inactive_border" = pkgs.lib.mkForce "rgba(b4befecc) rgba(6c7086cc) 45deg"; - "col.active_border" = "rgba(${colors.base0A}ff) rgba(${colors.base09}ff) 45deg"; - "col.inactive_border" = "rgba(${colors.base01}cc) rgba(${colors.base02}cc) 45deg"; - layout = "scroller"; - resize_on_border = "true"; + ); + layerrule = [ + "blur,rofi" + "ignorezero,rofi" + "animation slide bottom 0.2 0.2 wind,rofi" + "blur,notifications" + "ignorezero,notifications" + "blur,swaync-notification-window" + "animation slide right 0.5 0.5,swaync-control-center" + "animation slide right 0.5 0.5,notifications" + "animation slide right 0.5 0.5,swaync-notification-window" + "ignorezero,swaync-notification-window" + "blur,swaync-control-center" + "ignorezero,swaync-control-center" + "blur,logout_dialog" + ]; + dwindle = { + pseudotile = "yes"; + preserve_split = "yes"; }; - - misc = { - disable_hyprland_logo = true; - disable_splash_rendering = true; - }; - - cursor = { - hide_on_key_press = true; - }; - - decoration = { - rounding = "10"; - dim_special = "0.3"; - blur = { + animations = { enabled = "yes"; - size = "6"; - passes = "3"; - new_optimizations = "on"; - ignore_opacity = "on"; - xray = "false"; - special = true; + bezier = [ + "wind, 0.05, 0.9, 0.1, 1.05" + "winIn, 0.1, 1.1, 0.1, 1.1" + "winOut, 0.3, -0.3, 0, 1" + "liner, 1, 1, 1, 1" + "windup, 0.05, 0.9, 0.1, 1.05" + ]; + animation = + [ + "windows, 1, 6, wind, slide" + "windowsIn, 1, 6, winIn, slide" + "windowsOut, 1, 5, winOut, slide" + "windowsMove, 1, 5, wind, slide" + "fade, 1, 10, default" + # "layers, 1, 8, default, slide" + "workspaces, 1, 5, wind, slidefadevert" + ] + ++ (lib.optionals (!osConfig.liminalOS.powersave) [ + "border, 1, 1, liner" + "borderangle, 1, 30, liner, loop" + ]); }; - shadow = { - enabled = false; + + general = + let + inherit (config.lib.stylix) colors; + in + { + gaps_in = "3"; + gaps_out = "8"; + border_size = "2"; + # "col.active_border" = pkgs.lib.mkForce "rgba(ca9ee6ff) rgba(f2d5cfff) 45deg"; + # "col.inactive_border" = pkgs.lib.mkForce "rgba(b4befecc) rgba(6c7086cc) 45deg"; + "col.active_border" = "rgba(${colors.base0A}ff) rgba(${colors.base09}ff) 45deg"; + "col.inactive_border" = "rgba(${colors.base01}cc) rgba(${colors.base02}cc) 45deg"; + layout = "scroller"; + resize_on_border = "true"; + }; + + misc = { + disable_hyprland_logo = true; + disable_splash_rendering = true; }; + + cursor = { + hide_on_key_press = true; + }; + + decoration = { + rounding = "10"; + dim_special = "0.3"; + blur = { + enabled = "yes"; + size = "6"; + passes = "3"; + new_optimizations = "on"; + ignore_opacity = "on"; + xray = "false"; + special = true; + }; + shadow = { + enabled = false; + }; + }; + input = { + sensitivity = "-0.25"; + }; + plugin.scroller = { + column_widths = "onethird onehalf twothirds one"; + column_heights = "onethird onehalf twothirds one"; + }; + experimental.xx_color_management_v4 = true; }; - input = { - sensitivity = "-0.25"; - }; - plugin.scroller = { - column_widths = "onethird onehalf twothirds one"; - column_heights = "onethird onehalf twothirds one"; - }; - experimental.xx_color_management_v4 = true; }; - }; - - wayland.windowManager.hyprland.settings.input.touchpad = - lib.mkIf (config.liminalOS.formFactor == "laptop") - { - natural_scroll = true; - disable_while_typing = true; - clickfinger_behavior = true; - tap-to-click = false; - scroll_factor = 0.15; - }; + # wayland.windowManager.hyprland.settings.input.touchpad = + # lib.mkIf (config.liminalOS.formFactor == "laptop") + # { + # natural_scroll = true; + # disable_while_typing = true; + # clickfinger_behavior = true; + # tap-to-click = false; + # scroll_factor = 0.15; + # }; + # assertions = [ { assertion = From 371e40cc407284743368f242b42f0fca79bef38b Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 14:08:38 -0700 Subject: [PATCH 27/40] update --- modules/desktop-environment/default.nix | 4 ++++ .../desktop-environment/pkgs}/vendored/hyprscroller.nix | 0 2 files changed, 4 insertions(+) rename {pkgs => users/kaitotlex/desktop-environment/pkgs}/vendored/hyprscroller.nix (100%) diff --git a/modules/desktop-environment/default.nix b/modules/desktop-environment/default.nix index 33981e5..653b2b3 100644 --- a/modules/desktop-environment/default.nix +++ b/modules/desktop-environment/default.nix @@ -54,6 +54,10 @@ in programs.hyprland.enable = cfg.hyprland.enable; + # programs.niri.enable = cfg.niri.enable; + + # programs.xwayland.enable = lib.mkIf cfg.niri.enable (lib.mkForce true); + services.xserver.enable = false; services.xserver = { diff --git a/pkgs/vendored/hyprscroller.nix b/users/kaitotlex/desktop-environment/pkgs/vendored/hyprscroller.nix similarity index 100% rename from pkgs/vendored/hyprscroller.nix rename to users/kaitotlex/desktop-environment/pkgs/vendored/hyprscroller.nix From 2cf30bc675677f5053e0befb51f0dd35d386f807 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 15:12:18 -0700 Subject: [PATCH 28/40] moved pkg up --- .../pkgs/vendored => pkgs/hyprland}/hyprscroller.nix | 0 users/kaitotlex/desktop-environment/hyprland/default.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename {users/kaitotlex/desktop-environment/pkgs/vendored => pkgs/hyprland}/hyprscroller.nix (100%) diff --git a/users/kaitotlex/desktop-environment/pkgs/vendored/hyprscroller.nix b/pkgs/hyprland/hyprscroller.nix similarity index 100% rename from users/kaitotlex/desktop-environment/pkgs/vendored/hyprscroller.nix rename to pkgs/hyprland/hyprscroller.nix diff --git a/users/kaitotlex/desktop-environment/hyprland/default.nix b/users/kaitotlex/desktop-environment/hyprland/default.nix index 53dc1f6..ae7e296 100644 --- a/users/kaitotlex/desktop-environment/hyprland/default.nix +++ b/users/kaitotlex/desktop-environment/hyprland/default.nix @@ -101,7 +101,7 @@ in wayland.windowManager.hyprland = let - hyprscroller = pkgs.callPackage ./pkgs/vendored/hyprscroller.nix { + hyprscroller = pkgs.callPackage ../../pkgs/hyprland/hyprscroller.nix { src = inputs.hyprscroller-src; version = inputs.hyprscroller-src.lastModified; }; From 2d1517e710d1b472e8af75925f0cbd4c6179394d Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 16:59:44 -0700 Subject: [PATCH 29/40] imma cry --- flake.lock | 6 +++--- pkgs/hyprland/hyprscroller.nix | 19 ++++++++++++++++--- .../desktop-environment/hyprland/default.nix | 2 +- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index dcf6bdc..1d23824 100644 --- a/flake.lock +++ b/flake.lock @@ -637,11 +637,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1748369100, - "narHash": "sha256-rZO2WC1cVIpmwtBKxkex4lJAM7zqut3+5QKZltBkG5U=", + "lastModified": 1748376235, + "narHash": "sha256-LIQnskjlVHTJC5dW4xoWlMCtrKeWOPW7/8HYd8IruLA=", "owner": "danth", "repo": "stylix", - "rev": "dedf5de5792af6c16560f9cc8864be73ae535251", + "rev": "e38a646e5cd3d000c8fffb14632f3bb8a45dd042", "type": "github" }, "original": { diff --git a/pkgs/hyprland/hyprscroller.nix b/pkgs/hyprland/hyprscroller.nix index d3261b2..bce38fa 100644 --- a/pkgs/hyprland/hyprscroller.nix +++ b/pkgs/hyprland/hyprscroller.nix @@ -1,10 +1,12 @@ { + lib, + fetchFromGitHub, hyprland, pkg-config, cmake, - src, - version, + unstableGitUpdater, + }: let mkHyprlandPlugin = @@ -26,18 +28,29 @@ let ); in mkHyprlandPlugin hyprland { - inherit src version; pluginName = "hyprscroller"; + version = "0-unstable-2025-05-16"; + + src = fetchFromGitHub { + owner = "cpiber"; + repo = "hyprscroller"; + rev = "de97924b6d1086d84939b6f6688637f7b21d8d80"; + hash = "sha256-m9689UH+w8Z/qP/DKYtzQfIGfiE4jgBAfO+uH34cfNs="; + }; nativeBuildInputs = [ cmake ]; installPhase = '' runHook preInstall + mkdir -p $out/lib mv hyprscroller.so $out/lib/libhyprscroller.so + runHook postInstall ''; + passthru.updateScript = unstableGitUpdater { }; + meta = { homepage = "https://github.com/cpiber/hyprscroller"; description = "Hyprland layout plugin providing a scrolling layout like PaperWM"; diff --git a/users/kaitotlex/desktop-environment/hyprland/default.nix b/users/kaitotlex/desktop-environment/hyprland/default.nix index ae7e296..04dd0c2 100644 --- a/users/kaitotlex/desktop-environment/hyprland/default.nix +++ b/users/kaitotlex/desktop-environment/hyprland/default.nix @@ -101,7 +101,7 @@ in wayland.windowManager.hyprland = let - hyprscroller = pkgs.callPackage ../../pkgs/hyprland/hyprscroller.nix { + hyprscroller = pkgs.callPackage ../../../../pkgs/hyprland/hyprscroller.nix { src = inputs.hyprscroller-src; version = inputs.hyprscroller-src.lastModified; }; From 448f8c7c066576dddf2a64b9b83a5fbeaaed966d Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 17:04:53 -0700 Subject: [PATCH 30/40] update: README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ad9b8e..0b8cf8b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # KaitoianOS -> Fully customizable container-based operating system based on ```NixOS``` running SwayDE. +> Fully customizable container-based operating system based on ```NixOS``` running Hyprland && Hyprscroller. ## What even is this Config? So I believe I have no life, so I migrated from a super unstable and limited OS (DOS) to FreeBSD, however FreeBSD had limited packages being maintained on **Fresh Ports** so I figured might as well become a Linux user. After distro hopping for 3 months I was introduced to NixOS by [Youwen](https://youwen.dev) claiming that it would solve my problems of having to configure everything on seperate directories, common on most distros such as Arch or Debian. From 7cef671cb11fa360f9fba7c6e67ec4fa6a67b56f Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 21:10:17 -0700 Subject: [PATCH 31/40] recollection --- hosts/kuroko/configuration.nix | 4 ++-- pkgs/hyprland/hyprscroller.nix | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/hosts/kuroko/configuration.nix b/hosts/kuroko/configuration.nix index 442ad28..2b3c4d4 100644 --- a/hosts/kuroko/configuration.nix +++ b/hosts/kuroko/configuration.nix @@ -18,9 +18,9 @@ # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; + # boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; virtualisation.waydroid.enable = true; - #boot.kernelPackages = pkgs.linuxPackages_5_15; + boot.kernelPackages = pkgs.linuxPackages_latest; #systemdefaults networking.hostName = "kuroko"; # Define your hostname. services.ratbagd.enable = true; diff --git a/pkgs/hyprland/hyprscroller.nix b/pkgs/hyprland/hyprscroller.nix index bce38fa..4d5351d 100644 --- a/pkgs/hyprland/hyprscroller.nix +++ b/pkgs/hyprland/hyprscroller.nix @@ -1,12 +1,11 @@ { - lib, fetchFromGitHub, hyprland, pkg-config, cmake, unstableGitUpdater, - + ... }: let mkHyprlandPlugin = From 6b5ebd18c543b00060101d7222cb389945055481 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 21:36:11 -0700 Subject: [PATCH 32/40] Greetd Fix --- flake.lock | 6 +++--- modules/wm/default.nix | 2 +- users/kaitotlex/home.nix | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 1d23824..01b927a 100644 --- a/flake.lock +++ b/flake.lock @@ -298,11 +298,11 @@ ] }, "locked": { - "lastModified": 1748227609, - "narHash": "sha256-SaSdslyo6UGDpPUlmrPA4dWOEuxCy2ihRN9K6BnqYsA=", + "lastModified": 1748391243, + "narHash": "sha256-7sCuihzsTRZemtbTXaFUoGJUfuQErhKEcL9v7HKIo1k=", "owner": "nix-community", "repo": "home-manager", - "rev": "d23d20f55d49d8818ac1f1b2783671e8a6725022", + "rev": "f5b12be834874f7661db4ced969a621ab2d57971", "type": "github" }, "original": { diff --git a/modules/wm/default.nix b/modules/wm/default.nix index 8aa658f..31fc0a1 100644 --- a/modules/wm/default.nix +++ b/modules/wm/default.nix @@ -4,7 +4,7 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --asterisks --remember"; + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --asterisks --remember --greeting 'Access for those who don't touch grass'"; # --remember tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass' user = "greeter"; }; diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index e1a829f..ff4d276 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -23,6 +23,8 @@ # here is some command line tools I use frequently # feel free to add your own or remove some of them #gfortran1 + tor-browser + opera bambu-studio gimp3 openssl @@ -228,7 +230,7 @@ programs.git = { enable = true; userName = "KaitoTLex"; - userEmail = "wlin@kaitotlex.systems"; + userEmail = "renl@kaitotlex.systems"; }; programs.neovim.defaultEditor = true; From 511afa919a0c49f16e91cdaa17a8e6b61ba81444 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 27 May 2025 21:55:15 -0700 Subject: [PATCH 33/40] Completed Massive Update: Kernel6.12 -> 6.14; NixOS Victuna -> NixOS Xantusia; Msc. Package Upgrade; Nvidia Works on Kuroko; etc. --- modules/wm/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/wm/default.nix b/modules/wm/default.nix index 31fc0a1..6ab06fb 100644 --- a/modules/wm/default.nix +++ b/modules/wm/default.nix @@ -4,7 +4,9 @@ enable = true; settings = { default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --asterisks --remember --greeting 'Access for those who don't touch grass'"; + command = '' + ${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --remember --asterisks --greeting "Welcome, generation $(readlink /nix/var/nix/profiles/system | grep -o '[0-9]*'). Access is restricted to authorized personnel only." + ''; # --remember tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass' user = "greeter"; }; From 8ded4506daf94eb7f7a7237f32995dcf8799ff01 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 3 Jun 2025 21:50:23 -0700 Subject: [PATCH 34/40] fixed X-server conflict --- flake.lock | 90 +++++++++---------- flake.nix | 1 + hosts/kuroko/configuration.nix | 13 ++- hosts/kurokoNightly/configuration.nix | 20 ++--- hosts/shiroko/configuration.nix | 3 + .../desktop-environment/hyprland/binds.nix | 4 + .../desktop-environment/hyprland/default.nix | 2 +- .../desktop-environment/waybar/default.nix | 2 +- users/kaitotlex/home.nix | 3 +- 9 files changed, 78 insertions(+), 60 deletions(-) diff --git a/flake.lock b/flake.lock index 01b927a..f4a5ce6 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1736852337, - "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "lastModified": 1748408240, + "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1744642301, - "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=", + "lastModified": 1748383148, + "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a", + "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", "type": "github" }, "original": { @@ -133,11 +133,11 @@ }, "flake-compat_2": { "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -175,11 +175,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -217,11 +217,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -298,11 +298,11 @@ ] }, "locked": { - "lastModified": 1748391243, - "narHash": "sha256-7sCuihzsTRZemtbTXaFUoGJUfuQErhKEcL9v7HKIo1k=", + "lastModified": 1748979197, + "narHash": "sha256-mKYwYcO9RmA2AcAFIXGDBOw5iv/fbjw6adWvMbnfIuk=", "owner": "nix-community", "repo": "home-manager", - "rev": "f5b12be834874f7661db4ced969a621ab2d57971", + "rev": "34a13086148cbb3ae65a79f753eb451ce5cac3d3", "type": "github" }, "original": { @@ -319,11 +319,11 @@ ] }, "locked": { - "lastModified": 1747763032, - "narHash": "sha256-9j3oCbemeH7bTVXJ3pDWxOptbxDx2SdK1jY2AHpjQiw=", + "lastModified": 1748737919, + "narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "29dda415f5b2178278283856c6f9f7b48a2a4353", + "rev": "5675a9686851d9626560052a032c4e14e533c1fa", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "hyprscroller-src": { "flake": false, "locked": { - "lastModified": 1748269327, - "narHash": "sha256-UfkU8YJCIp5NwW6e+qoRgxZVJYcc6+aRVTdSaHvskTQ=", + "lastModified": 1748498601, + "narHash": "sha256-fz3e9Vf+UfP48bu8/J5LCcw9cijGRR6VoVdxEXrqkwM=", "owner": "cpiber", "repo": "hyprscroller", - "rev": "5b3cdd1fc26be1a0b1936fc36065b2eba84948f4", + "rev": "2c72e35b985a275a02ec1fe79dea5b6e41cb2ea8", "type": "github" }, "original": { @@ -421,11 +421,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748190013, - "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", + "lastModified": 1748693115, + "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", + "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", "type": "github" }, "original": { @@ -485,11 +485,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746056780, - "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=", + "lastModified": 1748730660, + "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", "owner": "nix-community", "repo": "NUR", - "rev": "d476cd0972dd6242d76374fcc277e6735715c167", + "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", "type": "github" }, "original": { @@ -600,11 +600,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1748147548, - "narHash": "sha256-9IaAQkgyF4PFtVyui8vF6oJah0iVcO9DaOefjdTMthE=", + "lastModified": 1748752728, + "narHash": "sha256-en008ncPUQjVx2i3PbM4RWeZkD9DNbJwIy0epppXe2o=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "f0595e3b59260457042450749eaec00a5a47db35", + "rev": "0e03de40d5128eb2ad600c98f57cf5db2cdf3240", "type": "github" }, "original": { @@ -637,11 +637,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1748376235, - "narHash": "sha256-LIQnskjlVHTJC5dW4xoWlMCtrKeWOPW7/8HYd8IruLA=", + "lastModified": 1748970111, + "narHash": "sha256-PmdrezN87CNzqTPnlC+YpLS7bZ0naeaD5d2eBFivXdY=", "owner": "danth", "repo": "stylix", - "rev": "e38a646e5cd3d000c8fffb14632f3bb8a45dd042", + "rev": "82d9424fffa709e162364c1397f816d232e6e1d1", "type": "github" }, "original": { @@ -716,11 +716,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1744974599, - "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=", + "lastModified": 1748180480, + "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", "owner": "tinted-theming", "repo": "schemes", - "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd", + "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", "type": "github" }, "original": { @@ -732,11 +732,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1745111349, - "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=", + "lastModified": 1748740859, + "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9", + "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", "type": "github" }, "original": { @@ -824,11 +824,11 @@ ] }, "locked": { - "lastModified": 1748059546, - "narHash": "sha256-e0jy8RU8ofOdeS5gF9Hir+M5Wn0q7D8MkpeQXsOJdu4=", + "lastModified": 1748971473, + "narHash": "sha256-0Xh6sZI86Ops6u7wyDQlVvV+MvRRXIDb1r3sMnLNk9M=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "716a5af28d686d67146d01b14112c919b6133a84", + "rev": "5cc269976ca876674d8ccc7f40debb61e05583ab", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 6f8262e..37ee088 100644 --- a/flake.nix +++ b/flake.nix @@ -92,6 +92,7 @@ { wayland.windowManager.hyprland.settings.monitor = [ "eDP-1,1920x1200@120,0x0,1" + "DP-1, 1920x1080@75.03,3840, transform, 1" "HDMI-A-1,1920x1080@165,1920x0,1" ]; programs.git.signing = { diff --git a/hosts/kuroko/configuration.nix b/hosts/kuroko/configuration.nix index 2b3c4d4..c09f380 100644 --- a/hosts/kuroko/configuration.nix +++ b/hosts/kuroko/configuration.nix @@ -18,7 +18,7 @@ # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - # boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; + #boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; virtualisation.waydroid.enable = true; boot.kernelPackages = pkgs.linuxPackages_latest; #systemdefaults @@ -110,7 +110,9 @@ LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; - + nixpkgs.config.permittedInsecurePackages = [ + "olm-3.2.16" + ]; services.keyd = { enable = true; keyboards.default = { @@ -148,6 +150,10 @@ }; }; + #Asus Specific Packages + services.asusd.enable = true; + programs.rog-control-center.enable = true; + #System specific packages to install environment.systemPackages = with pkgs; [ # nvtop @@ -155,6 +161,9 @@ davinci-resolve wacomtablet obs-studio + asusctl + supergfxctl + thinkfan ]; # List services that you want to enable: diff --git a/hosts/kurokoNightly/configuration.nix b/hosts/kurokoNightly/configuration.nix index bc40d07..9b58dcc 100644 --- a/hosts/kurokoNightly/configuration.nix +++ b/hosts/kurokoNightly/configuration.nix @@ -161,16 +161,16 @@ events = [ "key" ]; command = "pamixer -d 5"; } - { - keys = [ 237 ]; - events = [ "key" ]; - command = "brightnessctl -d asus::kbd_backlight set 1-"; - } - { - keys = [ 238 ]; - events = [ "key" ]; - command = "brightnessctl -d asus::kbd_backlight set +1"; - } + # { + # keys = [ 237 ]; + # events = [ "key" ]; + # command = "${pkgs.brightnessctl} -d asus::kbd_backlight set 1-"; + # } + # { + # keys = [ 238 ]; + # events = [ "key" ]; + # command = "${pkgs.brightnessctl} -d asus::kbd_backlight set +1"; + # } #{ keys = [ ]; events = [ "key" ]; command = "brightnessctl -d amdgpu_bl2 set +10%"; } #{ keys = [ ]; events = [ "key" ]; command = "brightnessctl -d amdgpu_bl2 set +10%"; } diff --git a/hosts/shiroko/configuration.nix b/hosts/shiroko/configuration.nix index 724f932..7084d6e 100644 --- a/hosts/shiroko/configuration.nix +++ b/hosts/shiroko/configuration.nix @@ -36,6 +36,9 @@ enable = true; dockerCompat = true; }; + nixpkgs.config.permittedInsecurePackages = [ + "olm-3.2.16" + ]; boot = { # Bootloader. loader.systemd-boot.enable = true; diff --git a/users/kaitotlex/desktop-environment/hyprland/binds.nix b/users/kaitotlex/desktop-environment/hyprland/binds.nix index 2b40153..6886fe4 100644 --- a/users/kaitotlex/desktop-environment/hyprland/binds.nix +++ b/users/kaitotlex/desktop-environment/hyprland/binds.nix @@ -81,6 +81,10 @@ in bindel = [ ",XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl set 5%-" ",XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl set 5%+" + ",XF86KbdBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl -d asus::kbd_backlight set 1-" + ",XF86KbdBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl -d asus::kbd_backlight set 1-" + ",XF86Launch1, exec, ${pkgs.supergfxctl}/bin/supergfxctl --mode Hybrid" + ",XF86Launch4, exec, ${pkgs.supergfxctl}/bin/supergfxctl --mode Integrated" ",XF86AudioRaiseVolume, exec, ${pkgs.pamixer}/bin/pamixer -i 5" ",XF86AudioLowerVolume, exec, ${pkgs.pamixer}/bin/pamixer -d 5" ]; diff --git a/users/kaitotlex/desktop-environment/hyprland/default.nix b/users/kaitotlex/desktop-environment/hyprland/default.nix index 04dd0c2..ddd9dde 100644 --- a/users/kaitotlex/desktop-environment/hyprland/default.nix +++ b/users/kaitotlex/desktop-environment/hyprland/default.nix @@ -114,7 +114,7 @@ in natural_scroll = true; disable_while_typing = true; clickfinger_behavior = true; - tap-to-click = false; + tap-to-click = true; scroll_factor = 0.15; }; diff --git a/users/kaitotlex/desktop-environment/waybar/default.nix b/users/kaitotlex/desktop-environment/waybar/default.nix index 6c776a0..e8b9def 100644 --- a/users/kaitotlex/desktop-environment/waybar/default.nix +++ b/users/kaitotlex/desktop-environment/waybar/default.nix @@ -70,7 +70,7 @@ in "clock" ]; clock = { - format = " {:%a, %d %b, %I:%M %p}"; + format = " {:%a, %D, %T}"; tooltip = "true"; tooltip-format = "{:%Y %B}\n{calendar}"; format-alt = " {:%d/%m}"; diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index ff4d276..394d57b 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -23,8 +23,9 @@ # here is some command line tools I use frequently # feel free to add your own or remove some of them #gfortran1 + nheko + openvpn tor-browser - opera bambu-studio gimp3 openssl From 40b3c9c4abe44ca5480ec03f291bcc40693ba8ef Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Wed, 4 Jun 2025 15:51:52 -0700 Subject: [PATCH 35/40] update --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 1d23824..01b927a 100644 --- a/flake.lock +++ b/flake.lock @@ -298,11 +298,11 @@ ] }, "locked": { - "lastModified": 1748227609, - "narHash": "sha256-SaSdslyo6UGDpPUlmrPA4dWOEuxCy2ihRN9K6BnqYsA=", + "lastModified": 1748391243, + "narHash": "sha256-7sCuihzsTRZemtbTXaFUoGJUfuQErhKEcL9v7HKIo1k=", "owner": "nix-community", "repo": "home-manager", - "rev": "d23d20f55d49d8818ac1f1b2783671e8a6725022", + "rev": "f5b12be834874f7661db4ced969a621ab2d57971", "type": "github" }, "original": { From 5a60740f9ff480115c78817a0e557e0f59485f69 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Thu, 5 Jun 2025 01:25:46 -0700 Subject: [PATCH 36/40] added iamb --- flake.lock | 130 +++++++++++++++++++++++++++++++++------ flake.nix | 6 +- users/kaitotlex/home.nix | 22 ++++++- 3 files changed, 136 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index f4a5ce6..9e6315c 100644 --- a/flake.lock +++ b/flake.lock @@ -188,6 +188,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -298,11 +316,11 @@ ] }, "locked": { - "lastModified": 1748979197, - "narHash": "sha256-mKYwYcO9RmA2AcAFIXGDBOw5iv/fbjw6adWvMbnfIuk=", + "lastModified": 1749062139, + "narHash": "sha256-gGGLujmeWU+ZjFzfMvFMI0hp9xONsSbm88187wJr82Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "34a13086148cbb3ae65a79f753eb451ce5cac3d3", + "rev": "86b95fc1ed2b9b04a451a08ccf13d78fb421859c", "type": "github" }, "original": { @@ -348,14 +366,36 @@ "type": "github" } }, + "iamb": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1749099426, + "narHash": "sha256-sef/DgIWotz1dwqwejhg7Ow4xD7NoJh7nftoTVU7j0Q=", + "owner": "ulyssa", + "repo": "iamb", + "rev": "a9cb5608f03ae864881ef5faf2362fe094f3d589", + "type": "github" + }, + "original": { + "owner": "ulyssa", + "repo": "iamb", + "type": "github" + } + }, "lanzaboote": { "inputs": { "crane": "crane", "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "rust-overlay": "rust-overlay" + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1737639419, @@ -389,16 +429,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731919951, - "narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=", + "lastModified": 1736320768, + "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "04386ac325a813047fc314d4b4d838a5b1e3c7fe", + "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable-small", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -421,11 +461,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748693115, - "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", + "lastModified": 1731919951, + "narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "04386ac325a813047fc314d4b4d838a5b1e3c7fe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1748929857, + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", "type": "github" }, "original": { @@ -435,7 +491,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1741462378, "narHash": "sha256-ZF3YOjq+vTcH51S+qWa1oGA9FgmdJ67nTNPG2OIlXDc=", @@ -454,7 +510,7 @@ "nixvim": { "inputs": { "nixCats": "nixCats", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "plugins-blink-ripgrep": "plugins-blink-ripgrep", "plugins-pomo-nvim": "plugins-pomo-nvim" }, @@ -561,8 +617,9 @@ "inputs": { "home-manager": "home-manager", "hyprscroller-src": "hyprscroller-src", + "iamb": "iamb", "lanzaboote": "lanzaboote", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixvim": "nixvim", "spicetify": "spicetify", "stylix": "stylix", @@ -572,6 +629,24 @@ } }, "rust-overlay": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1736994333, + "narHash": "sha256-v4Jrok5yXsZ6dwj2+2uo5cSyUi9fBTurHqHvNHLT1XA=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "848db855cb9e88785996e961951659570fc58814", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { "inputs": { "nixpkgs": [ "lanzaboote", @@ -597,7 +672,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1748752728, @@ -629,7 +704,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems_3", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -637,11 +712,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1748970111, - "narHash": "sha256-PmdrezN87CNzqTPnlC+YpLS7bZ0naeaD5d2eBFivXdY=", + "lastModified": 1749053445, + "narHash": "sha256-tf4MNRwJ5ikyg4+UfGuC1+GwMBQYh4dK4sdow1MEGVk=", "owner": "danth", "repo": "stylix", - "rev": "82d9424fffa709e162364c1397f816d232e6e1d1", + "rev": "a057acc112856352e77d42ac4685134b2213a810", "type": "github" }, "original": { @@ -680,6 +755,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 37ee088..6b206e3 100644 --- a/flake.nix +++ b/flake.nix @@ -36,6 +36,10 @@ url = "github:cpiber/hyprscroller"; flake = false; }; + iamb = { + url = "github:ulyssa/iamb"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -92,7 +96,7 @@ { wayland.windowManager.hyprland.settings.monitor = [ "eDP-1,1920x1200@120,0x0,1" - "DP-1, 1920x1080@75.03,3840, transform, 1" + "DP-1, 1920x1080@75.03,3840x0,1,transform, 1" "HDMI-A-1,1920x1080@165,1920x0,1" ]; programs.git.signing = { diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index 394d57b..ce0bd95 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -23,6 +23,10 @@ # here is some command line tools I use frequently # feel free to add your own or remove some of them #gfortran1 + gqrx + urh + rtl_433 + rng-tools nheko openvpn tor-browser @@ -243,7 +247,23 @@ enableBashIntegration = true; enableFishIntegration = true; }; - + programs.iamb = { + enable = true; + packages = inputs.iamb.packages.default; + settings = { + profiles."matrix.org" = { + user_id = "@kaitotlex:matrix.org"; + style = "restore"; + }; + settings = { + image_preview.protocol.type = "kitty"; + notifications = { + enabled = true; + show_message = true; + }; + }; + }; + }; programs.kitty = { enable = true; settings = { From 4d1ea33d9e5dbdac124d47b7dfb4c692b51bed11 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Thu, 5 Jun 2025 01:52:14 -0700 Subject: [PATCH 37/40] idk: adding stuff --- users/kaitotlex/home.nix | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index ce0bd95..d50bd1f 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -249,14 +249,11 @@ }; programs.iamb = { enable = true; - packages = inputs.iamb.packages.default; + package = inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default; settings = { - profiles."matrix.org" = { - user_id = "@kaitotlex:matrix.org"; - style = "restore"; - }; + profiles."matrix.org".user_id = "@kaitotlex:matrix.org"; settings = { - image_preview.protocol.type = "kitty"; + image_preview = { }; notifications = { enabled = true; show_message = true; @@ -264,6 +261,24 @@ }; }; }; + # programs.iamb = { + # enable = true; + # packages = inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default; + # settings = { + # profiles."matrix.org" = { + # user_id = "@kaitotlex:matrix.org"; + # style = "restore"; + # }; + # settings = { + # image_preview = { }; + # image_preview.protocol.type = "kitty"; + # notifications = { + # enabled = true; + # show_message = true; + # }; + # }; + # }; + # }; programs.kitty = { enable = true; settings = { From 0f18837c91ca0048930dee80f43e749dc6782b71 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Thu, 5 Jun 2025 14:59:06 -0700 Subject: [PATCH 38/40] nein --- flake.lock | 90 +++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/flake.lock b/flake.lock index 01b927a..12cad5d 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1736852337, - "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "lastModified": 1748408240, + "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", "type": "github" }, "original": { @@ -102,11 +102,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1744642301, - "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=", + "lastModified": 1748383148, + "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a", + "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", "type": "github" }, "original": { @@ -133,11 +133,11 @@ }, "flake-compat_2": { "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -175,11 +175,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -217,11 +217,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -298,11 +298,11 @@ ] }, "locked": { - "lastModified": 1748391243, - "narHash": "sha256-7sCuihzsTRZemtbTXaFUoGJUfuQErhKEcL9v7HKIo1k=", + "lastModified": 1749062139, + "narHash": "sha256-gGGLujmeWU+ZjFzfMvFMI0hp9xONsSbm88187wJr82Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "f5b12be834874f7661db4ced969a621ab2d57971", + "rev": "86b95fc1ed2b9b04a451a08ccf13d78fb421859c", "type": "github" }, "original": { @@ -319,11 +319,11 @@ ] }, "locked": { - "lastModified": 1747763032, - "narHash": "sha256-9j3oCbemeH7bTVXJ3pDWxOptbxDx2SdK1jY2AHpjQiw=", + "lastModified": 1748737919, + "narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "29dda415f5b2178278283856c6f9f7b48a2a4353", + "rev": "5675a9686851d9626560052a032c4e14e533c1fa", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "hyprscroller-src": { "flake": false, "locked": { - "lastModified": 1748269327, - "narHash": "sha256-UfkU8YJCIp5NwW6e+qoRgxZVJYcc6+aRVTdSaHvskTQ=", + "lastModified": 1748498601, + "narHash": "sha256-fz3e9Vf+UfP48bu8/J5LCcw9cijGRR6VoVdxEXrqkwM=", "owner": "cpiber", "repo": "hyprscroller", - "rev": "5b3cdd1fc26be1a0b1936fc36065b2eba84948f4", + "rev": "2c72e35b985a275a02ec1fe79dea5b6e41cb2ea8", "type": "github" }, "original": { @@ -421,11 +421,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748190013, - "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", + "lastModified": 1748929857, + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", "type": "github" }, "original": { @@ -485,11 +485,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746056780, - "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=", + "lastModified": 1748730660, + "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", "owner": "nix-community", "repo": "NUR", - "rev": "d476cd0972dd6242d76374fcc277e6735715c167", + "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", "type": "github" }, "original": { @@ -600,11 +600,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1748147548, - "narHash": "sha256-9IaAQkgyF4PFtVyui8vF6oJah0iVcO9DaOefjdTMthE=", + "lastModified": 1748752728, + "narHash": "sha256-en008ncPUQjVx2i3PbM4RWeZkD9DNbJwIy0epppXe2o=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "f0595e3b59260457042450749eaec00a5a47db35", + "rev": "0e03de40d5128eb2ad600c98f57cf5db2cdf3240", "type": "github" }, "original": { @@ -637,11 +637,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1748376235, - "narHash": "sha256-LIQnskjlVHTJC5dW4xoWlMCtrKeWOPW7/8HYd8IruLA=", + "lastModified": 1749053445, + "narHash": "sha256-tf4MNRwJ5ikyg4+UfGuC1+GwMBQYh4dK4sdow1MEGVk=", "owner": "danth", "repo": "stylix", - "rev": "e38a646e5cd3d000c8fffb14632f3bb8a45dd042", + "rev": "a057acc112856352e77d42ac4685134b2213a810", "type": "github" }, "original": { @@ -716,11 +716,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1744974599, - "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=", + "lastModified": 1748180480, + "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", "owner": "tinted-theming", "repo": "schemes", - "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd", + "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", "type": "github" }, "original": { @@ -732,11 +732,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1745111349, - "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=", + "lastModified": 1748740859, + "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9", + "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", "type": "github" }, "original": { @@ -824,11 +824,11 @@ ] }, "locked": { - "lastModified": 1748059546, - "narHash": "sha256-e0jy8RU8ofOdeS5gF9Hir+M5Wn0q7D8MkpeQXsOJdu4=", + "lastModified": 1748971473, + "narHash": "sha256-0Xh6sZI86Ops6u7wyDQlVvV+MvRRXIDb1r3sMnLNk9M=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "716a5af28d686d67146d01b14112c919b6133a84", + "rev": "5cc269976ca876674d8ccc7f40debb61e05583ab", "type": "github" }, "original": { From 502e05276e7b5ab7d9982a00977a77c955e2f092 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Thu, 5 Jun 2025 15:46:25 -0700 Subject: [PATCH 39/40] plasable --- flake.lock | 18 +++++++++--------- flake.nix | 4 ++++ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 12cad5d..f681401 100644 --- a/flake.lock +++ b/flake.lock @@ -298,11 +298,11 @@ ] }, "locked": { - "lastModified": 1749062139, - "narHash": "sha256-gGGLujmeWU+ZjFzfMvFMI0hp9xONsSbm88187wJr82Q=", + "lastModified": 1749160002, + "narHash": "sha256-IM3xKjsKxhu7Y1WdgTltrLKiOJS8nW7D4SUDEMNr7CI=", "owner": "nix-community", "repo": "home-manager", - "rev": "86b95fc1ed2b9b04a451a08ccf13d78fb421859c", + "rev": "68cc9eeb3875ae9682c04629f20738e1e79d72aa", "type": "github" }, "original": { @@ -335,11 +335,11 @@ "hyprscroller-src": { "flake": false, "locked": { - "lastModified": 1748498601, - "narHash": "sha256-fz3e9Vf+UfP48bu8/J5LCcw9cijGRR6VoVdxEXrqkwM=", + "lastModified": 1749141212, + "narHash": "sha256-YC9WEi74d9L1rjVnjNXqWCUPhHgCj6npQWZ0KT6l2nA=", "owner": "cpiber", "repo": "hyprscroller", - "rev": "2c72e35b985a275a02ec1fe79dea5b6e41cb2ea8", + "rev": "80f9a9c6ec9423cfd3f17e801e92934ffc5d52d2", "type": "github" }, "original": { @@ -637,11 +637,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1749053445, - "narHash": "sha256-tf4MNRwJ5ikyg4+UfGuC1+GwMBQYh4dK4sdow1MEGVk=", + "lastModified": 1749147539, + "narHash": "sha256-RkcNfKytYh1tq81Myax39sgOWJ6TOYf2wkUbhdW0p9o=", "owner": "danth", "repo": "stylix", - "rev": "a057acc112856352e77d42ac4685134b2213a810", + "rev": "937a154dc30ebcf6d2b74fe74c930dd892a127d9", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 37ee088..ac2e868 100644 --- a/flake.nix +++ b/flake.nix @@ -36,6 +36,10 @@ url = "github:cpiber/hyprscroller"; flake = false; }; + jkernel = { + url = "github:tweag/jupyenv"; + flake = false; + }; }; outputs = From ef37f0ba6853a6197816d685a8b6a5a39199ca55 Mon Sep 17 00:00:00 2001 From: KaitoTLex Date: Tue, 1 Jul 2025 20:55:29 -0700 Subject: [PATCH 40/40] final commit from git shiroko --- flake.lock | 159 ++++++++++++++++++++++++++------ hosts/shiroko/configuration.nix | 4 +- modules/stylix/default.nix | 2 +- 3 files changed, 136 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index f681401..8522081 100644 --- a/flake.lock +++ b/flake.lock @@ -188,6 +188,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -298,11 +316,11 @@ ] }, "locked": { - "lastModified": 1749160002, - "narHash": "sha256-IM3xKjsKxhu7Y1WdgTltrLKiOJS8nW7D4SUDEMNr7CI=", + "lastModified": 1749400020, + "narHash": "sha256-0nTmHO8AYgRYk5v6zw5oZ3x9nh+feb+Isn7WNe318M0=", "owner": "nix-community", "repo": "home-manager", - "rev": "68cc9eeb3875ae9682c04629f20738e1e79d72aa", + "rev": "2835e8ba0ad99ba86d4a5e497a962ec9fa35e48f", "type": "github" }, "original": { @@ -348,14 +366,52 @@ "type": "github" } }, + "iamb": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1749177992, + "narHash": "sha256-B72RIr6pbf9kW0JhcbsgUhLSw22BxxODoKIdPd2YWFY=", + "owner": "ulyssa", + "repo": "iamb", + "rev": "33d3407694c9dece0f3e59aa577eda98c9384ea1", + "type": "github" + }, + "original": { + "owner": "ulyssa", + "repo": "iamb", + "type": "github" + } + }, + "jkernel": { + "flake": false, + "locked": { + "lastModified": 1733188630, + "narHash": "sha256-TlUFZOqFsTXh97vRpNeyoJJ+WNOwxgvu7u3JcLGN7iU=", + "owner": "tweag", + "repo": "jupyenv", + "rev": "55e42c3dea87d3c1e3e9dfde28df637e88d6bd39", + "type": "github" + }, + "original": { + "owner": "tweag", + "repo": "jupyenv", + "type": "github" + } + }, "lanzaboote": { "inputs": { "crane": "crane", "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "rust-overlay": "rust-overlay" + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1737639419, @@ -389,16 +445,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731919951, - "narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=", + "lastModified": 1736320768, + "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "04386ac325a813047fc314d4b4d838a5b1e3c7fe", + "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable-small", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -421,11 +477,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748929857, - "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", + "lastModified": 1731919951, + "narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "04386ac325a813047fc314d4b4d838a5b1e3c7fe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1749285348, + "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", + "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", "type": "github" }, "original": { @@ -435,7 +507,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1741462378, "narHash": "sha256-ZF3YOjq+vTcH51S+qWa1oGA9FgmdJ67nTNPG2OIlXDc=", @@ -454,7 +526,7 @@ "nixvim": { "inputs": { "nixCats": "nixCats", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "plugins-blink-ripgrep": "plugins-blink-ripgrep", "plugins-pomo-nvim": "plugins-pomo-nvim" }, @@ -561,8 +633,10 @@ "inputs": { "home-manager": "home-manager", "hyprscroller-src": "hyprscroller-src", + "iamb": "iamb", + "jkernel": "jkernel", "lanzaboote": "lanzaboote", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixvim": "nixvim", "spicetify": "spicetify", "stylix": "stylix", @@ -572,6 +646,24 @@ } }, "rust-overlay": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1736994333, + "narHash": "sha256-v4Jrok5yXsZ6dwj2+2uo5cSyUi9fBTurHqHvNHLT1XA=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "848db855cb9e88785996e961951659570fc58814", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { "inputs": { "nixpkgs": [ "lanzaboote", @@ -597,14 +689,14 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems" + "systems": "systems_2" }, "locked": { - "lastModified": 1748752728, - "narHash": "sha256-en008ncPUQjVx2i3PbM4RWeZkD9DNbJwIy0epppXe2o=", + "lastModified": 1749357231, + "narHash": "sha256-AbrPgGFVYR45TlYLHYTppayG0xzOG9XXhi+1j3Klbw8=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "0e03de40d5128eb2ad600c98f57cf5db2cdf3240", + "rev": "03783416f7416715c52166d4e8ba0492a7149397", "type": "github" }, "original": { @@ -629,7 +721,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems_3", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -637,11 +729,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1749147539, - "narHash": "sha256-RkcNfKytYh1tq81Myax39sgOWJ6TOYf2wkUbhdW0p9o=", + "lastModified": 1749398498, + "narHash": "sha256-Usx6sGnT/D8ZnWiZg+J1OY3dp4ZssMQiN1XeXcsL/cs=", "owner": "danth", "repo": "stylix", - "rev": "937a154dc30ebcf6d2b74fe74c930dd892a127d9", + "rev": "5869510e48e64d916dc6905dc664a02b0f85f1bd", "type": "github" }, "original": { @@ -680,6 +772,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -804,11 +911,11 @@ "wallpapers": { "flake": false, "locked": { - "lastModified": 1745796213, - "narHash": "sha256-op3AWIjxLTLEOY+AFGWdmxS+BVhPn3F4TXvr9e+7Vjc=", + "lastModified": 1749185371, + "narHash": "sha256-M6QK9qLgyvFaM6gF9qH1d6su254cWfw/+1aO3nxeBmQ=", "owner": "kaitotlex", "repo": "wallpaper", - "rev": "6cfb73683b4027b3a17dde128f924e817131b760", + "rev": "f1d9cf6f2d16b25ca57e684e1d20124e75413f7c", "type": "github" }, "original": { diff --git a/hosts/shiroko/configuration.nix b/hosts/shiroko/configuration.nix index 7084d6e..2e9728a 100644 --- a/hosts/shiroko/configuration.nix +++ b/hosts/shiroko/configuration.nix @@ -114,9 +114,9 @@ enable = true; settings = { CPU_SCALING_GOVERNOR_ON_AC = "performance"; - CPU_SCALING_GOVERNOR_ON_BAT = "performance"; + CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; - CPU_ENERGY_PERF_POLICY_ON_BAT = "performance"; + CPU_ENERGY_PERF_POLICY_ON_BAT = "power"; CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; CPU_MIN_PERF_ON_AC = 0; diff --git a/modules/stylix/default.nix b/modules/stylix/default.nix index 12fc253..83eb960 100644 --- a/modules/stylix/default.nix +++ b/modules/stylix/default.nix @@ -6,7 +6,7 @@ stylix = { enable = true; - image = "${inputs.wallpapers}/anime/mafuyuMum.jpg"; + image = "${inputs.wallpapers}/anime/N25/mafuAura.png"; polarity = "dark"; base16Scheme = "${pkgs.base16-schemes}/share/themes/heetch.yaml";