dotfiles

My PC Dotfiles & Website
commit a66d44b813dfce48ce5061753c4da4251a0fa104
parent 44acd5b0ce7d123a3446d328a5012fe2664dd61e
Author: V7 <maydayv7@gmail.com>
Date:   Wed, 27 Nov 2024 13:53:08 +0530

feat!: Upgrade to NixOS v24.11 (Vicuna)

Also ugrade to Hyprland v0.45.2

Diffstat:

M.devcontainer/devcontainer.json | 4++--
MREADME.md | 13+++++++++----
Mchecks/flake.nix | 2+-
Mdevices/flake.nix | 2+-
Mdevices/valkyrie/default.nix | 4++--
Mdevices/valkyrie/drivers.nix | 3+++
Mfiles/gnome/settings/default.nix | 2+-
Mfiles/gnome/settings/extensions.nix | 14++++++--------
Mfiles/hyprland/greeter.conf | 3++-
Mfiles/hyprland/kebihelp.json | 2+-
Mfiles/hyprland/pypr.toml | 30+++++++++++-------------------
Mfiles/vscode/settings.json | 2+-
Mflake.lock | 611++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------
Mflake.nix | 36+++++++++++++++++++-----------------
Mmodules/README.md | 2+-
Mmodules/apps/git/runner.nix | 2+-
Mmodules/apps/office.nix | 20+++++++++++++++-----
Mmodules/apps/spotify.nix | 31-------------------------------
Mmodules/base/default.nix | 12+++---------
Mmodules/base/firmware.nix | 40+++++++++++++++++++++++++++++++++-------
Mmodules/gui/desktop/gnome/default.nix | 77+++++++++++++++++++++++++++++++++++++----------------------------------------
Mmodules/gui/desktop/gnome/iso.nix | 4++--
Mmodules/gui/desktop/hyprland/apps/default.nix | 11++++-------
Mmodules/gui/desktop/hyprland/apps/rules.nix | 3++-
Mmodules/gui/desktop/hyprland/apps/security.nix | 3+--
Mmodules/gui/desktop/hyprland/default.nix | 16+++++++++-------
Mmodules/gui/desktop/hyprland/settings/default.nix | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
Mmodules/gui/desktop/hyprland/settings/keybindings.nix | 2+-
Mmodules/gui/desktop/hyprland/settings/plugins.nix | 2+-
Mmodules/gui/desktop/hyprland/theme.nix | 9+++------
Mmodules/gui/desktop/xfce/compositor.nix | 2+-
Mmodules/gui/desktop/xfce/default.nix | 4++--
Mmodules/gui/theme.nix | 1+
Mmodules/hardware/filesystem.nix | 327++++++++++++++++++++++++++++++++++++++++---------------------------------------
Mmodules/hardware/virtualisation/android.nix | 2+-
Mmodules/hardware/virtualisation/default.nix | 2+-
Mmodules/shell/default.nix | 11++++++++++-
Mpackages/gnome-pano/default.nix | 2+-
Mpackages/hyprland-shaders.nix | 2+-
Dpackages/overlays/gnome.nix | 26--------------------------
Apackages/patches/calibre.patch | 38++++++++++++++++++++++++++++++++++++++
Apackages/patches/mission-center.patch | 94+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mscripts/hyprutils.nix | 10+++++-----
Msecrets/vortex/gitlab-runner.secret | 8++++----
Msite/config.toml | 2+-
Msite/content/blog/_index.md | 2+-
Msite/content/blog/nix.md | 1+
Msite/default.nix | 2+-
48 files changed, 931 insertions(+), 649 deletions(-)

diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json @@ -1,10 +1,10 @@ { - "image":"mcr.microsoft.com/devcontainers/base:alpine", + "image": "mcr.microsoft.com/devcontainers/base:alpine", "features": { "ghcr.io/devcontainers/features/nix:1": { "multiUser": true, "version": "latest", - "extraNixConfig": "experimental-features = nix-command flakes" + "extraNixConfig": "experimental-features = nix-command flakes" } } } diff --git a/README.md b/README.md @@ -4,7 +4,7 @@ <img alt="Logo" src="files/images/logo/dark.png"> </picture> -![Version](https://img.shields.io/github/v/release/maydayv7/dotfiles?include_prereleases&label=version&style=flat-square&logo=github) ![License](https://img.shields.io/github/license/maydayv7/dotfiles?color=dgreen&style=flat-square) ![Size](https://img.shields.io/github/repo-size/maydayv7/dotfiles?color=red&label=size&style=flat-square) [![NixOS](https://img.shields.io/badge/NixOS-24.05-9cf.svg?style=flat-square&logo=NixOS&logoColor=white)](https://nixos.org) +![Version](https://img.shields.io/github/v/release/maydayv7/dotfiles?include_prereleases&label=version&style=flat-square&logo=github) ![License](https://img.shields.io/github/license/maydayv7/dotfiles?color=dgreen&style=flat-square) ![Size](https://img.shields.io/github/repo-size/maydayv7/dotfiles?color=red&label=size&style=flat-square) [![NixOS](https://img.shields.io/badge/NixOS-24.11-9cf.svg?style=flat-square&logo=NixOS&logoColor=white)](https://nixos.org) This [repository](https://github.com/maydayv7/dotfiles) contains the configuration and `dotfiles` for my continuously evolving multi-PC setup (using [Nix](https://nixos.org/)). All the devices I own, controlled by code. It also builds and deploys my website to [maydayv7.my.to](https://maydayv7.my.to). You can follow along with my [NixOS Desktop](https://maydayv7.my.to/series/nixos-desktop/) Series @@ -291,7 +291,7 @@ Example `flake.nix`: timezone = "Continent/City"; locale = "US"; - kernel = "zfs"; + kernel = "lts"; kernelModules = ["nvme"]; gui = {}; @@ -450,7 +450,8 @@ The [`home-manager`](https://github.com/nix-community/home-manager) module is us ### Important Links -**See:** A [Curated List](https://github.com/nix-community/awesome-nix) of the Best Resources in the Nix Community +**See:** A [Curated List](https://github.com/nix-community/awesome-nix) of the Best Resources in the Nix Community +**Also:** [This](https://nixos-and-flakes.thiscute.world/) website for beginners starting out with NixOS and Flakes - Official [Documentation](https://nixos.org/learn.html) - NixOS [Manual](https://nixos.org/manual/nixpkgs/stable) @@ -471,7 +472,7 @@ The [`home-manager`](https://github.com/nix-community/home-manager) module is us - Justin's [Notes](https://github.com/justinwoo/nix-shorts) on using Nix - Lan Tian's Series of [Blog Posts](https://lantian.pub/en/article/modify-website/nixos-initial-config-flake-deploy.lantian/) on NixOS - Christine's [Blog Posts](https://christine.website/blog/series/nixos) addressing NixOS Security -- [Graham](https://grahamc.com/blog/erase-your-darlings) and [Elis'](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/) Blog Posts on Ephemeral Partition Schemes +- [Graham's](https://grahamc.com/blog/erase-your-darlings) and [Elis'](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/) Blog Posts on Ephemeral Partition Schemes #### Other Configurations @@ -507,6 +508,10 @@ You can navigate to the `README`s present in the various directories to know mor <details> <summary><b>Changelog</b></summary> +### v25 + +- Upgrade to NixOS v24.11 (Vicuna)! + ### v24.5 - GNOME Improvements diff --git a/checks/flake.nix b/checks/flake.nix @@ -13,7 +13,7 @@ }: { ## Code Formatter treefmt.config = rec { - package = pkgs.treefmt; + package = pkgs.treefmt1; #!# Currently broken projectRoot = ../.; projectRootFile = "${projectRoot}/flake.nix"; diff --git a/devices/flake.nix b/devices/flake.nix @@ -24,7 +24,7 @@ in { locale = "IN"; kernelModules = ["nvme"]; - kernel = "zfs"; + kernel = "lts"; gui.desktop = name + "-iso"; user = { diff --git a/devices/valkyrie/default.nix b/devices/valkyrie/default.nix @@ -46,9 +46,9 @@ }; gui = { - desktop = "gnome"; + desktop = "hyprland"; display = "eDP-1"; - wallpaper = "Nix"; + wallpaper = "Thread"; fancy = true; }; diff --git a/devices/valkyrie/drivers.nix b/devices/valkyrie/drivers.nix @@ -15,6 +15,9 @@ in { "nvidia_drm.fbdev=1" # Wayland Support "NVreg_UsePageAttributeTable=1" # PAT Support "NVreg_RegistryDwords=RMUseSwI2c=0x01;RMI2cSpeed=100" # DDC/CI Support + + # https://gitlab.freedesktop.org/drm/amd/-/issues/3388 + (mkIf mode "amdgpu.dcdebugmask=0x10") ]; hardware = { diff --git a/files/gnome/settings/default.nix b/files/gnome/settings/default.nix @@ -135,7 +135,7 @@ in { edge-tiling = false; focus-change-on-pointer-rest = true; workspaces-only-on-primary = true; - experimental-features = ["scale-monitor-framebuffer" "x11-randr-fractional-scaling"]; + experimental-features = ["scale-monitor-framebuffer" "xwayland-native-scaling"]; }; "org/gnome/desktop/interface" = { diff --git a/files/gnome/settings/extensions.nix b/files/gnome/settings/extensions.nix @@ -11,19 +11,17 @@ homeDir = config.home.homeDirectory; font = head sys.fonts.fontconfig.defaultFonts.sansSerif; - latest = pkgs.unstable.gnomeExtensions; - # Shell Extensions extensions = with pkgs.gnomeExtensions // hm.gvariant; ([ {package = appindicator;} {package = control-monitor-brightness-and-volume-with-ddcutil;} - {package = latest.display-configuration-switcher;} + {package = display-configuration-switcher;} {package = gamemode-indicator-in-system-settings;} {package = gsconnect;} {package = guillotine;} {package = hide-minimized;} - {package = latest.invert-window-color;} - {package = latest.media-progress;} + {package = invert-window-color;} + {package = media-progress;} {package = removable-drive-menu;} {package = x11-gestures;} {package = xlanguagetray;} @@ -32,7 +30,7 @@ disable = true; } { - package = latest.gpu-supergfxctl-switch; + package = gpu-supergfxctl-switch; disable = !sys.services.supergfxd.enable; } { @@ -90,7 +88,7 @@ }; } { - package = latest.autohide-battery-percentage; + package = autohide-battery-percentage; settings = { hide-on-battery-level = 90; hide-on-plugged-in = true; @@ -98,7 +96,7 @@ }; } { - package = latest.emoji-copy; + package = emoji-copy; settings = { active-keybind = true; always-show = false; diff --git a/files/hyprland/greeter.conf b/files/hyprland/greeter.conf @@ -1,7 +1,8 @@ exec-once = @greeter; hyprctl dispatch exit windowrule = fullscreen, .* windowrule = stayfocused, .* -monitor= , preferred, auto, 1 +monitor = , preferred, auto, 1 +animations:enabled = false misc { disable_autoreload = true force_default_wallpaper = 0 diff --git a/files/hyprland/kebihelp.json b/files/hyprland/kebihelp.json @@ -58,7 +58,7 @@ "Rules": { "default": "Desktop", "kitty": "Terminal", - "code-url-handler": "Code" + "code": "Code" }, "Keybindings": { "Desktop": { diff --git a/files/hyprland/pypr.toml b/files/hyprland/pypr.toml @@ -13,48 +13,40 @@ size = "75% 60%" [scratchpads.clip] animation = "fromBottom" -command = "kitty --class kitty-clip sh -c 'clipse -fc $PPID'" +command = "kitty --class kitty-clip 'clipse'" class = "kitty-clip" lazy = true size = "75% 65%" margin = 30 -[scratchpads.bluetooth] +[scratchpads.right] animation = "fromRight" -command = "overskride" -class = "io.github.kaii_lb.Overskride" lazy = true size = "50% 90%" margin = 30 unfocus = "hide" +restore_excluded = true + +[scratchpads.bluetooth] +command = "overskride" +class = "io.github.kaii_lb.Overskride" +use = "right" excludes = ["displays", "network", "volume"] [scratchpads.displays] -animation = "fromRight" command = "nwg-displays" class = "nwg-displays" -lazy = true -size = "50% 90%" -margin = 30 -unfocus = "hide" +use = "right" excludes = ["bluetooth", "network", "volume"] [scratchpads.network] -animation = "fromRight" command = "kitty --class kitty-nm nmtui" class = "kitty-nm" -lazy = true -size = "50% 90%" -margin = 30 -unfocus = "hide" +use = "right" excludes = ["bluetooth", "displays", "volume"] [scratchpads.volume] -animation = "fromRight" command = "pavucontrol" class = "pavucontrol" -lazy = true -size = "50% 90%" -margin = 30 -unfocus = "hide" +use = "right" excludes = ["bluetooth", "displays", "network"] diff --git a/files/vscode/settings.json b/files/vscode/settings.json @@ -35,7 +35,7 @@ "terminal.integrated.enableVisualBell": true, "terminal.integrated.tabs.separator": " / ", "update.mode": "none", - "window.autoDetectColorScheme": true, + "window.autoDetectColorScheme": false, "window.closeWhenEmpty": true, "window.commandCenter": true, "window.dialogStyle": "custom", diff --git a/flake.lock b/flake.lock @@ -1,5 +1,38 @@ { "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1731959031, + "narHash": "sha256-TGcvIjftziC1CjuiHCzrYDwmOoSFYIhdiKmLetzB5L0=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "4468981c1c50999f315baa1508f0e53c4ee70c52", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -34,30 +67,14 @@ "type": "github" } }, - "base16-foot": { - "flake": false, - "locked": { - "lastModified": 1696725948, - "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", - "owner": "tinted-theming", - "repo": "base16-foot", - "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-foot", - "type": "github" - } - }, "base16-helix": { "flake": false, "locked": { - "lastModified": 1696727917, - "narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=", + "lastModified": 1725860795, + "narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb", + "rev": "7f795bf75d38e0eea9fed287264067ca187b88a9", "type": "github" }, "original": { @@ -66,50 +83,18 @@ "type": "github" } }, - "base16-kitty": { - "flake": false, - "locked": { - "lastModified": 1665001328, - "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", - "owner": "kdrag0n", - "repo": "base16-kitty", - "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", - "type": "github" - }, - "original": { - "owner": "kdrag0n", - "repo": "base16-kitty", - "type": "github" - } - }, - "base16-tmux": { - "flake": false, - "locked": { - "lastModified": 1696725902, - "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", - "owner": "tinted-theming", - "repo": "base16-tmux", - "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-tmux", - "type": "github" - } - }, "base16-vim": { "flake": false, "locked": { - "lastModified": 1663659192, - "narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=", - "owner": "chriskempson", + "lastModified": 1716150083, + "narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=", + "owner": "tinted-theming", "repo": "base16-vim", - "rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d", + "rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d", "type": "github" }, "original": { - "owner": "chriskempson", + "owner": "tinted-theming", "repo": "base16-vim", "type": "github" } @@ -131,45 +116,33 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1682802423, - "narHash": "sha256-Fb5TeRTdvUlo/5Yi2d+FC8a6KoRLk2h1VE0/peMhWPs=", + "lastModified": 1718178907, + "narHash": "sha256-eSZyrQ9uoPB9iPQ8Y5H7gAmAgAvCw3InStmU3oEjqsE=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "64b903ca87d18cef2752c19c098af275c6e51d63", + "rev": "b627ccd97d0159214cee5c7db1412b75e4be6086", "type": "github" }, "original": { "owner": "nix-community", - "ref": "v0.3.0", + "ref": "v0.4.1", "repo": "lanzaboote", "type": "github" } }, "crane": { "inputs": { - "flake-compat": [ - "boot", - "flake-compat" - ], - "flake-utils": [ - "boot", - "flake-utils" - ], "nixpkgs": [ "boot", "nixpkgs" - ], - "rust-overlay": [ - "boot", - "rust-overlay" ] }, "locked": { - "lastModified": 1681177078, - "narHash": "sha256-ZNIjBDou2GOabcpctiQykEQVkI8BDwk7TyvlWlI4myE=", + "lastModified": 1717535930, + "narHash": "sha256-1hZ/txnbd/RmiBPNUs7i8UQw2N89uAK3UzrGAWdnFfU=", "owner": "ipetkov", "repo": "crane", - "rev": "0c9f468ff00576577d83f5019a66c557ede5acf6", + "rev": "55e7754ec31dac78980c8be45f8a28e80e370946", "type": "github" }, "original": { @@ -180,11 +153,11 @@ }, "filters": { "locked": { - "lastModified": 1730207686, - "narHash": "sha256-SCHiL+1f7q9TAnxpasriP6fMarWE5H43t25F5/9e28I=", + "lastModified": 1731533336, + "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=", "owner": "numtide", "repo": "nix-filter", - "rev": "776e68c1d014c3adde193a18db9d738458cd2ba4", + "rev": "f7653272fd234696ae94229839a99b73c9ab7de0", "type": "github" }, "original": { @@ -196,11 +169,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -228,6 +201,22 @@ "flake-compat_3": { "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_4": { + "flake": false, + "locked": { "lastModified": 1673956053, "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", @@ -241,7 +230,7 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1696426674, @@ -257,7 +246,7 @@ "type": "github" } }, - "flake-compat_5": { + "flake-compat_6": { "flake": false, "locked": { "lastModified": 1673956053, @@ -275,11 +264,11 @@ }, "flatpak": { "locked": { - "lastModified": 1730108712, - "narHash": "sha256-vIvmXmjAQIY39hACGFe/cdBK2r3ZprpHLwX2HIy7Mj8=", + "lastModified": 1731698554, + "narHash": "sha256-5kTDLWpsMaKSEnekip2rUBfzuHNS9Fafp5Y7n4Y7hr8=", "owner": "gmodena", "repo": "nix-flatpak", - "rev": "1cba177bb0a948c919af7596e40bef307543d40a", + "rev": "8db1648a95446d41e97ace7caf54e172669810ff", "type": "github" }, "original": { @@ -295,11 +284,11 @@ ] }, "locked": { - "lastModified": 1730321837, - "narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=", + "lastModified": 1732187120, + "narHash": "sha256-XdW2mYXvPHYtZ8oQqO3tRYtxx7kI0Hs3NU64IwAtD68=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "746901bb8dba96d154b66492a29f5db0693dbfcc", + "rev": "37f8f47cb618eddee0c0dd31a582b1cd3013c7f6", "type": "github" }, "original": { @@ -315,11 +304,11 @@ ] }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -353,11 +342,11 @@ "umu": "umu" }, "locked": { - "lastModified": 1730425644, - "narHash": "sha256-dfxO6mkn1KkotGQXV93m/2MoS9ayLUwaIIbR3mReLd0=", + "lastModified": 1731980711, + "narHash": "sha256-6oOIuAMih3tN1Fjo9cQp1Q5LNe1t3eueA2i0IV1QAVI=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "bcc7c896b56ccd644ca2daea74dac05c1731f59d", + "rev": "d89390fd1c6e070e03b9e19d48d884612132a14f", "type": "github" }, "original": { @@ -376,11 +365,11 @@ ] }, "locked": { - "lastModified": 1727702862, - "narHash": "sha256-4ai7yRN8b2i43gNTAXfAuOw/uIzGqMLON1IXtIRrwOM=", + "lastModified": 1732151224, + "narHash": "sha256-5IgpueM8SGLOadzUJK6Gk37zEBXGd56BkNOtoWmnZos=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "f7eb021d9dfd61f0e0075e483f3579c6f8453bb3", + "rev": "3280fdde8c8f0276c9f5286ad5c0f433dfa5d56c", "type": "github" }, "original": { @@ -398,11 +387,33 @@ ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -430,11 +441,11 @@ }, "hardware": { "locked": { - "lastModified": 1730368399, - "narHash": "sha256-F8vJtG389i9fp3k2/UDYHMed3PLCJYfxCqwiVP7b9ig=", + "lastModified": 1731797098, + "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "da14839ac5f38ee6adbdb4e6db09b5eef6d6ccdc", + "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", "type": "github" }, "original": { @@ -450,16 +461,16 @@ ] }, "locked": { - "lastModified": 1726989464, - "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "lastModified": 1731880681, + "narHash": "sha256-FmYTkIyPBUxSWgA7DPIVTsCCMvSSbs56yOtHpLNSnKg=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "rev": "aecd341dfead1c3ef7a3c15468ecd71e8343b7c6", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } @@ -481,16 +492,17 @@ ] }, "locked": { - "lastModified": 1719328349, - "narHash": "sha256-upIUl8IE5ow+CJKa2SIo3OL/djarGVr8pNe1j05uW1A=", - "owner": "DreamMaoMao", + "lastModified": 1731830158, + "narHash": "sha256-X5D8oqCnZBrDTmseUGYYQq6vfPeyyksdG4Mj7XYYNpg=", + "owner": "bighu630", "repo": "hycov", - "rev": "de15cdd6bf2e46cbc69735307f340b57e2ce3dd0", + "rev": "a251d42b4e75eecd72bc91e763e79bb91772e841", "type": "github" }, "original": { - "owner": "DreamMaoMao", + "owner": "bighu630", "repo": "hycov", + "rev": "a251d42b4e75eecd72bc91e763e79bb91772e841", "type": "github" } }, @@ -510,11 +522,11 @@ ] }, "locked": { - "lastModified": 1713612213, - "narHash": "sha256-zJboXgWNpNhKyNF8H/3UYzWkx7w00TOCGKi3cwi+tsw=", + "lastModified": 1728669738, + "narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "cab4746180f210a3c1dd3d53e45c510e309e90e1", + "rev": "0264e698149fcb857a66a53018157b41f8d97bb0", "type": "github" }, "original": { @@ -533,43 +545,48 @@ ] }, "locked": { - "lastModified": 1725890705, - "narHash": "sha256-nE0aOYLwuRe3oYMEInPtkUCg/exCQWJIqM/ahrjqooE=", + "lastModified": 1730372991, + "narHash": "sha256-jmtwH8t1GRsNpkKFu1WJR1rZ15ejmcdDe+zwenjzo7U=", "owner": "micha4w", "repo": "Hypr-DarkWindow", - "rev": "17481a16cfaf1cf545a94b2f8456c4edb040052b", + "rev": "8fae7b5698379be08ea61a2e7a3349da0b930a94", "type": "github" }, "original": { "owner": "micha4w", + "ref": "v0.45.0", "repo": "Hypr-DarkWindow", "type": "github" } }, "hyprland": { "inputs": { + "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", "hyprland-protocols": "hyprland-protocols", "hyprlang": "hyprlang", + "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs_2", + "nixpkgs": [ + "stable" + ], + "pre-commit-hooks": "pre-commit-hooks", "systems": [ "systems" ], - "wlroots": "wlroots", "xdph": "xdph" }, "locked": { - "lastModified": 1714837352, - "narHash": "sha256-QzzJTb+0CBqgAT0wKZsOt1rky5+u2zMUlNxbZcGj2VM=", + "lastModified": 1732052838, + "narHash": "sha256-ENsVNUEvJp7/7f6x7MVqtiVkFKkGy0Ux/ZqQM3Sb4CQ=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "cba1ade848feac44b2eda677503900639581c3f4", + "rev": "12f9a0d0b93f691d4d9923716557154d74777b0a", "type": "github" }, "original": { "owner": "hyprwm", - "ref": "v0.40.0", + "ref": "v0.45.2", "repo": "Hyprland", "type": "github" } @@ -591,16 +608,17 @@ ] }, "locked": { - "lastModified": 1727705521, - "narHash": "sha256-tR4bc6zONkxore1F7CRrwHs9NITht8NY0JTidPSmMXY=", + "lastModified": 1732053779, + "narHash": "sha256-v9FS0r2XWMf/+uwevvzaF/2TimMFeLEQTf4T8cgc6c0=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "9215288eb2ded9d0c08d468ea90ba68f43162c67", + "rev": "0bc619b2c3b4f9c2b65247e81d69f8bbc573d991", "type": "github" }, "original": { "owner": "hyprwm", "repo": "hyprland-plugins", + "rev": "0bc619b2c3b4f9c2b65247e81d69f8bbc573d991", "type": "github" } }, @@ -616,11 +634,11 @@ ] }, "locked": { - "lastModified": 1691753796, - "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "lastModified": 1728345020, + "narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "rev": "a7c183800e74f337753de186522b9017a07a8cee", "type": "github" }, "original": { @@ -631,6 +649,10 @@ }, "hyprlang": { "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -641,11 +663,11 @@ ] }, "locked": { - "lastModified": 1713121246, - "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", + "lastModified": 1728168612, + "narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", + "rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e", "type": "github" }, "original": { @@ -658,19 +680,21 @@ "inputs": { "hyprland": [ "hyprland" - ] + ], + "systems": "systems" }, "locked": { - "lastModified": 1726437584, - "narHash": "sha256-lMIFDORuyMYHtUPrRWU5WjGcS+ZMrR4/wBSO+sgUVSY=", + "lastModified": 1730569007, + "narHash": "sha256-cwbcYg+rPmvHFFtAEie7nw5IaBidrTYe5XsTlhOyoyQ=", "owner": "KZDKM", "repo": "Hyprspace", - "rev": "8f14fa2e10d24742d713f04c278bc7651037b74b", + "rev": "260f386075c7f6818033b05466a368d8821cde2d", "type": "github" }, "original": { "owner": "KZDKM", "repo": "Hyprspace", + "rev": "260f386075c7f6818033b05466a368d8821cde2d", "type": "github" } }, @@ -681,19 +705,45 @@ ] }, "locked": { - "lastModified": 1726950200, - "narHash": "sha256-pcEAalCVOPZ28j9o0NtsU1rqfDIDzM/CPkS8XfZINsM=", + "lastModified": 1732148559, + "narHash": "sha256-+KvgaMLPlwoQFt1NJCELSRg5N3W01XnzWMlrvbtNkVQ=", "owner": "shezdy", "repo": "hyprsplit", - "rev": "7199a5147c6ab797402963033f9c480e6d10f37c", + "rev": "e526aaff56b14aca773682bde485c2f8af80ece2", "type": "github" }, "original": { "owner": "shezdy", + "ref": "v0.45.2", "repo": "hyprsplit", "type": "github" } }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1731702627, + "narHash": "sha256-+JeO9gevnXannQxMfR5xzZtF4sYmSlWkX/BPmPx0mWk=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "e911361a687753bbbdfe3b6a9eab755ecaf1d9e1", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, "hyprwayland-scanner": { "inputs": { "nixpkgs": [ @@ -706,11 +756,11 @@ ] }, "locked": { - "lastModified": 1714755542, - "narHash": "sha256-D0pg+ZRwrt4lavZ97Ca8clsgbPA3duLj8iEM7riaIFY=", + "lastModified": 1726874836, + "narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "1270ebaa539e56d61b708c24b072b09cbbd3a828", + "rev": "500c81a9e1a76760371049a8d99e008ea77aa59e", "type": "github" }, "original": { @@ -721,11 +771,11 @@ }, "impermanence": { "locked": { - "lastModified": 1730403150, - "narHash": "sha256-W1FH5aJ/GpRCOA7DXT/sJHFpa5r8sq2qAUncWwRZ3Gg=", + "lastModified": 1731242966, + "narHash": "sha256-B3C3JLbGw0FtLSWCjBxU961gLNv+BOOBC6WvstKLYMw=", "owner": "nix-community", "repo": "impermanence", - "rev": "0d09341beeaa2367bac5d718df1404bf2ce45e6f", + "rev": "3ed3f0eaae9fcc0a8331e77e9319c8a4abd8a71a", "type": "github" }, "original": { @@ -741,11 +791,11 @@ ] }, "locked": { - "lastModified": 1729999765, - "narHash": "sha256-LYsavZXitFjjyETZoij8usXjTa7fa9AIF3Sk3MJSX+Y=", + "lastModified": 1731814505, + "narHash": "sha256-l9ryrx1Twh08a+gxrMGM9O/aZKEimZfa6sZVyPCImgI=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "0e3a8778c2ee218eff8de6aacf3d2fa6c33b2d4f", + "rev": "bdba246946fb079b87b4cada4df9b1cdf1c06132", "type": "github" }, "original": { @@ -756,11 +806,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729850857, - "narHash": "sha256-WvLXzNNnnw+qpFOmgaM3JUlNEH+T4s22b5i2oyyCpXE=", + "lastModified": 1731763621, + "narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "41dea55321e5a999b17033296ac05fe8a8b5a257", + "rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d", "type": "github" }, "original": { @@ -772,37 +822,37 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1678872516, - "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-22.11", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_2": { + "nixpkgs-stable_2": { "locked": { - "lastModified": 1714253743, - "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_2": { "locked": { "lastModified": 1712963716, "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", @@ -818,16 +868,36 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore_2", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ "boot", "flake-compat" ], - "flake-utils": [ - "boot", - "flake-utils" - ], "gitignore": "gitignore", "nixpkgs": [ "boot", @@ -836,11 +906,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1681413034, - "narHash": "sha256-/t7OjNQcNkeWeSq/CFLYVBfm+IEnkjoSm9iKvArnUUI=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "d3de8f69ca88fb6f8b09e5b598be5ac98d28ede5", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -897,7 +967,7 @@ "spotify": "spotify", "stable": "stable", "stylix": "stylix", - "systems": "systems_2", + "systems": "systems_3", "unstable": "unstable", "utils": "utils_2", "vscode": "vscode", @@ -917,11 +987,11 @@ ] }, "locked": { - "lastModified": 1682129965, - "narHash": "sha256-1KRPIorEL6pLpJR04FwAqqnt4Tzcm4MqD84yhlD+XSk=", + "lastModified": 1717813066, + "narHash": "sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "2c417c0460b788328220120c698630947547ee83", + "rev": "6dc3e45fe4aee36efeed24d64fc68b1f989d5465", "type": "github" }, "original": { @@ -934,17 +1004,14 @@ "inputs": { "nixpkgs": [ "unstable" - ], - "nixpkgs-stable": [ - "stable" ] }, "locked": { - "lastModified": 1729999681, - "narHash": "sha256-qm0uCtM9bg97LeJTKQ8dqV/FvqRN+ompyW4GIJruLuw=", + "lastModified": 1732186149, + "narHash": "sha256-N9JGWe/T8BC0Tss2Cv30plvZUYoiRmykP7ZdY2on2b0=", "owner": "Mic92", "repo": "sops-nix", - "rev": "1666d16426abe79af5c47b7c0efa82fd31bf4c56", + "rev": "53c853fb1a7e4f25f68805ee25c83d5de18dc699", "type": "github" }, "original": { @@ -955,17 +1022,17 @@ }, "spotify": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1730434620, - "narHash": "sha256-TRMTZ9nAU31tGTPQpf4ylUYDW+JfpYFbBQrZYf1/xj4=", + "lastModified": 1732162609, + "narHash": "sha256-fC6UxF+P8bLspHFaVhX7t19UA6FzUa7yYjA2jH7P3Ok=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "defcdbfdf0890df65685e25e8920d68035cb7720", + "rev": "025aefe4dba52c7fef6723f3efe659b5dbab27ca", "type": "github" }, "original": { @@ -976,16 +1043,16 @@ }, "stable": { "locked": { - "lastModified": 1730428893, - "narHash": "sha256-fLLUd2dO/Vnf96UDr8YPzerYi+n99l3S5yIUDnmcPBE=", + "lastModified": 1731755305, + "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "38edd08881ce4dc24056eec173b43587a93c990f", + "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -994,37 +1061,58 @@ "inputs": { "base16": "base16", "base16-fish": "base16-fish", - "base16-foot": "base16-foot", "base16-helix": "base16-helix", - "base16-kitty": "base16-kitty", - "base16-tmux": "base16-tmux", "base16-vim": "base16-vim", - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", + "flake-utils": [ + "utils" + ], "gnome-shell": "gnome-shell", "home-manager": [ "home-manager" ], "nixpkgs": [ "stable" - ] + ], + "systems": [ + "systems" + ], + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1718122552, - "narHash": "sha256-A+dBkSwp8ssHKV/WyXb9uqIYrHBqHvtSedU24Lq9lqw=", + "lastModified": 1731657386, + "narHash": "sha256-Mm/JL8tFUS1SOmmZDPcswExUxzw0VpHcEyZI1h58CGA=", "owner": "danth", "repo": "stylix", - "rev": "e59d2c1725b237c362e4a62f5722f5b268d566c7", + "rev": "5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f", "type": "github" }, "original": { "owner": "danth", - "ref": "release-24.05", + "ref": "release-24.11", "repo": "stylix", "type": "github" } }, "systems": { "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { + "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", @@ -1038,7 +1126,7 @@ "type": "github" } }, - "systems_2": { + "systems_3": { "flake": false, "locked": { "lastModified": 1707463813, @@ -1055,6 +1143,56 @@ "type": "github" } }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1716423189, + "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1696725902, + "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, "umu": { "inputs": { "nixpkgs": [ @@ -1064,11 +1202,11 @@ }, "locked": { "dir": "packaging/nix", - "lastModified": 1729978972, - "narHash": "sha256-Zox0iAi4CRPn4rxrhOetFFZ2jcSipe8tGD8nMTgcjhE=", + "lastModified": 1731556042, + "narHash": "sha256-eUFmLbf06Dph//IbB9KsJio3dJNADt+EhcfNFXjiJjU=", "ref": "refs/heads/main", - "rev": "72499f349ca81cb2838eced9d7c465b2cf71c4a2", - "revCount": 825, + "rev": "66a1088194bb13c2d86d2c0af316b280a7235640", + "revCount": 839, "submodules": true, "type": "git", "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" @@ -1082,11 +1220,11 @@ }, "unstable": { "locked": { - "lastModified": 1730531603, - "narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { @@ -1098,7 +1236,7 @@ }, "utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1694529238, @@ -1121,11 +1259,11 @@ ] }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -1136,7 +1274,7 @@ }, "vscode": { "inputs": { - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_5", "flake-utils": [ "utils" ], @@ -1145,11 +1283,11 @@ ] }, "locked": { - "lastModified": 1730426202, - "narHash": "sha256-swwKpE3lrdvcSh6Hjyf/eSe/zPnsZgeVlSl+B4yBpeo=", + "lastModified": 1732153985, + "narHash": "sha256-libOsvOEQjHhlNEVPuG+i4OY5NyO301RZCxYovsVtrc=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "96dcbddd24edc60ad47f41bb2a73e06099eba4af", + "rev": "c53c9d319e51deb97fb9a82001952c4efa74cba7", "type": "github" }, "original": { @@ -1160,14 +1298,14 @@ }, "vsppuccin": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1725822842, - "narHash": "sha256-fOR805OwfINbMFzqSmE8piFAFHM9fE+BDdQQUahqDaQ=", + "lastModified": 1731786392, + "narHash": "sha256-VA5hygzQzq8ccAzRPWje8371nnQ6js4xnFe87t/4KJ0=", "owner": "catppuccin", "repo": "vscode", - "rev": "54316f9afc31c3b5070a242cd3ca47d66ab0e9ac", + "rev": "35b72d7f39d24b8af0ccc512b9417e1115865df6", "type": "github" }, "original": { @@ -1178,17 +1316,17 @@ }, "windows": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_6", "nixpkgs": [ "unstable" ] }, "locked": { - "lastModified": 1730211782, - "narHash": "sha256-RPTCSbYPcIv6jaEMaBrW2h1W9mAlWFR7BiIZwGIRiJM=", + "lastModified": 1732116882, + "narHash": "sha256-gALtg3dEmRIUjF2Ze85bLkhCvCyf7pOBo2FsOD74l1M=", "owner": "emmanuelrosa", "repo": "erosanix", - "rev": "11da2620ebd67fc75207833fbdd3ba51efb95c2e", + "rev": "dcd10289d428c1869641c8f5bfdff93aaeda391a", "type": "github" }, "original": { @@ -1197,23 +1335,6 @@ "type": "github" } }, - "wlroots": { - "flake": false, - "locked": { - "lastModified": 1713731601, - "narHash": "sha256-bdcKdtLkusvv85DNuJsajZLFeq7bXp+x5AGP1Sd4wD8=", - "owner": "hyprwm", - "repo": "wlroots-hyprland", - "rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "wlroots-hyprland", - "rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea", - "type": "github" - } - }, "xdph": { "inputs": { "hyprland-protocols": [ @@ -1224,6 +1345,14 @@ "hyprland", "hyprlang" ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -1234,11 +1363,11 @@ ] }, "locked": { - "lastModified": 1714060055, - "narHash": "sha256-j43TS9wv9luaAlpxcxw0sjxkbcc2mGANVR2RYgo3RCw=", + "lastModified": 1731703417, + "narHash": "sha256-rheDc/7C+yI+QspYr9J2z9kQ5P9F4ATapI7qyFAe1XA=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "0fe840441e43da12cd7865ed9aa8cdc35a8da85a", + "rev": "8070f36deec723de71e7557441acb17e478204d3", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix @@ -23,7 +23,7 @@ # Author -> V 7 <maydayv7@gmail.com> # # License -> MIT # # URL -> github:maydayv7/dotfiles # -# Version -> v24.5 # +# Version -> v25 # # --------------------------------------- # # Welcome to Ground Zero! # # The Very Heart of my 'dotfiles' # @@ -39,7 +39,7 @@ ## Package Repositories ## # NixOS Packages Repository nixpkgs.follows = "stable"; - stable.url = "github:NixOS/nixpkgs?ref=release-24.05"; + stable.url = "github:NixOS/nixpkgs?ref=nixos-24.11"; # Unstable Packages Repository unstable.url = "github:NixOS/nixpkgs?ref=nixos-unstable"; @@ -88,7 +88,7 @@ ## Feature Modules # User Home Manager home-manager = { - url = "github:nix-community/home-manager?ref=release-24.05"; + url = "github:nix-community/home-manager?ref=release-24.11"; inputs.nixpkgs.follows = "stable"; }; @@ -97,7 +97,7 @@ # Secure Boot boot = { - url = "github:nix-community/lanzaboote/v0.3.0"; + url = "github:nix-community/lanzaboote/v0.4.1"; inputs = { nixpkgs.follows = "stable"; flake-parts.follows = "framework"; @@ -108,10 +108,7 @@ # Authentication Credentials Manager sops = { url = "github:Mic92/sops-nix"; - inputs = { - nixpkgs.follows = "unstable"; - nixpkgs-stable.follows = "stable"; - }; + inputs.nixpkgs.follows = "unstable"; }; # File System Persistent State Handler @@ -134,31 +131,36 @@ # Base16 Theming stylix = { - url = "github:danth/stylix?ref=release-24.05"; + url = "github:danth/stylix?ref=release-24.11"; inputs = { nixpkgs.follows = "stable"; + systems.follows = "systems"; + flake-utils.follows = "utils"; home-manager.follows = "home-manager"; }; }; - # Hyprland + # Hyprland (manual update) hyprland = { - url = "github:hyprwm/Hyprland?ref=v0.40.0"; - inputs.systems.follows = "systems"; + url = "github:hyprwm/Hyprland?ref=v0.45.2"; + inputs = { + nixpkgs.follows = "stable"; + systems.follows = "systems"; + }; }; hyprland-plugins = { - url = "github:hyprwm/hyprland-plugins"; + url = "github:hyprwm/hyprland-plugins?rev=0bc619b2c3b4f9c2b65247e81d69f8bbc573d991"; inputs.hyprland.follows = "hyprland"; }; hycov = { - url = "github:DreamMaoMao/hycov"; + url = "github:bighu630/hycov?rev=a251d42b4e75eecd72bc91e763e79bb91772e841"; inputs.hyprland.follows = "hyprland"; }; hyprdark = { - url = "github:micha4w/Hypr-DarkWindow"; + url = "github:micha4w/Hypr-DarkWindow?ref=v0.45.0"; inputs = { hyprland.follows = "hyprland"; nix-filter.follows = "filters"; @@ -166,12 +168,12 @@ }; hyprspace = { - url = "github:KZDKM/Hyprspace"; + url = "github:KZDKM/Hyprspace?rev=260f386075c7f6818033b05466a368d8821cde2d"; inputs.hyprland.follows = "hyprland"; }; hyprsplit = { - url = "github:shezdy/hyprsplit"; + url = "github:shezdy/hyprsplit?ref=v0.45.2"; inputs.hyprland.follows = "hyprland"; }; diff --git a/modules/README.md b/modules/README.md @@ -21,7 +21,7 @@ Configuration [Builder](./configuration.nix) - [`base`](./base): Module that contains the base common/shared configuration - - - `kernel`: Linux Kernel Variant to be used - `"zfs" / "lts" / "variant"` + - `kernel`: Linux Kernel Variant to be used - `"lts" / "variant"` - `kernelModules`: Linux Kernel Modules to load - [`gui`](./gui): Module that configures GUI Desktops/Environments and the like - diff --git a/modules/apps/git/runner.nix b/modules/apps/git/runner.nix @@ -54,7 +54,7 @@ in { services.default = { dockerImage = "alpine"; tagList = ["self"]; - registrationConfigFile = runner.secret; + authenticationTokenConfigFile = runner.secret; }; }; }) diff --git a/modules/apps/office.nix b/modules/apps/office.nix @@ -12,18 +12,28 @@ in { imports = [inputs.windows.nixosModules.onlyoffice]; config = lib.mkIf enable { # Applications - programs.onlyoffice = { - enable = true; - package = pkgs.onlyoffice-bin_latest; + programs = { + onlyoffice = { + enable = true; + package = pkgs.onlyoffice-bin_latest; + }; + + obs-studio = { + enable = true; + enableVirtualCamera = true; + plugins = with pkgs.obs-studio-plugins; [ + obs-mute-filter + obs-source-switcher + ]; + }; }; environment.systemPackages = with pkgs; [ # Productivity calibre - gnome.simple-scan + simple-scan gscan2pdf libreoffice - obs-studio # Graphics gimp diff --git a/modules/apps/spotify.nix b/modules/apps/spotify.nix @@ -19,37 +19,6 @@ in { programs.spicetify = { enable = true; - # Theming - theme = - spice.themes.sleek - // { - additionalCss = "* { font-family: ${config.stylix.fonts.sansSerif.name} !important } "; - }; - - colorScheme = "custom"; - customColorScheme = with config.lib.stylix.colors; { - "text" = "${base07}"; - "subtext" = "${base05}"; - "nav-active-text" = "${bright-green}"; - "main" = "${base00}"; - "sidebar" = "${base00}"; - "player" = "${base00}"; - "card" = "${base00}"; - "shadow" = "${base02}"; - "main-secondary" = "${base01}"; - "button" = "${base07}"; - "button-secondary" = "${green}"; - "button-active" = "${base0D}"; - "button-disabled" = "${base0D}"; - "nav-active" = "${base0D}"; - "play-button" = "${green}"; - "tab-active" = "${yellow}"; - "notification" = "${base07}"; - "notification-error" = "${orange}"; - "playback-bar" = "${bright-green}"; - "misc" = "${bright-green}"; - }; - # Player Improvements enabledCustomApps = with spice.apps; [ betterLibrary diff --git a/modules/base/default.nix b/modules/base/default.nix @@ -17,11 +17,8 @@ in { options.base = { kernel = mkOption { description = "Linux Kernel Variant to be used"; - default = "zfs"; - type = types.enum ( - ["lts" "zfs"] - ++ (map (name: removePrefix "linux_" name) (attrNames pkgs.linuxKernel.kernels)) - ); + default = "lts"; + type = types.enum (["lts"] ++ (map (name: removePrefix "linux_" name) (attrNames pkgs.linuxKernel.kernels))); }; kernelModules = mkOption { @@ -34,11 +31,8 @@ in { config = { # Kernel Configuration boot = { - supportedFilesystems.zfs = mkIf (cfg.kernel == "zfs") true; kernelPackages = - if (cfg.kernel == "zfs") - then pkgs.zfs.latestCompatibleLinuxPackages - else if (cfg.kernel == "lts") + if (cfg.kernel == "lts") then options.boot.kernelPackages.default else pkgs.linuxKernel.packages."${"linux_" + cfg.kernel}"; diff --git a/modules/base/firmware.nix b/modules/base/firmware.nix @@ -1,6 +1,7 @@ { lib, inputs, + pkgs, ... }: { imports = [inputs.gaming.nixosModules.pipewireLowLatency]; @@ -9,18 +10,12 @@ config = { # Drivers hardware = { - opengl.enable = true; + graphics.enable = true; enableRedistributableFirmware = true; pulseaudio.enable = lib.mkForce false; }; # Audio - sound = { - enable = true; - mediaKeys.enable = true; - }; - - security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; @@ -33,6 +28,37 @@ }; }; + security.rtkit.enable = true; + hardware.alsa.enablePersistence = true; + services.actkbd = let + step = "1%"; + mixer = lib.getExe' pkgs.alsa-utils "amixer"; + in { + enable = true; + bindings = [ + { + keys = [113]; # "Mute" Key + events = ["key"]; + command = "${mixer} -q set Master toggle"; + } + { + keys = [114]; # "Lower Volume" Key + events = ["key" "rep"]; + command = "${mixer} -q set Master ${step}- unmute"; + } + { + keys = [115]; # "Raise Volume" Key + events = ["key" "rep"]; + command = "${mixer} -q set Master ${step}+ unmute"; + } + { + keys = [190]; # "Mic Mute" Key + events = ["key"]; + command = "${mixer} -q set Capture toggle"; + } + ]; + }; + # Network Settings user.groups = ["networkmanager"]; environment.persist.directories = [ diff --git a/modules/gui/desktop/gnome/default.nix b/modules/gui/desktop/gnome/default.nix @@ -29,8 +29,8 @@ in { # Excluded Packages environment.gnome.excludePackages = with pkgs; [ - gnome.totem - gnome.gnome-music + totem + gnome-music ]; # Dconf Settings @@ -75,7 +75,7 @@ in { }; services = { - udev.packages = [pkgs.gnome.gnome-settings-daemon]; + udev.packages = [pkgs.gnome-settings-daemon]; telepathy.enable = true; switcherooControl.enable = true; gnome = { @@ -144,45 +144,42 @@ in { }; ## Package List - environment. systemPackages = with pkgs; (with gnome; - [ - # GNOME Apps - gnome-boxes - gnome-dictionary - gnome-sound-recorder - gnome-text-editor - gnome-tweaks - zenity + environment. systemPackages = with pkgs; [ + gnome-boxes + gnome-sound-recorder + gnome-text-editor + gnome-tweaks + zenity - # GNOME Games - gnome-chess - gnome-mines - quadrapassel - ] - ++ [ - # GNOME Circle - apostrophe - blackbox-terminal - curtail - deja-dup - dialect - drawing - fractal - fragments - gnome-podcasts - gnome-secrets - gradience - gthumb - lollypop - mission-center - video-trimmer - wike + # Games + gnome-chess + gnome-mines + quadrapassel - # Utilities - celluloid - ddcutil - gnuchess - ]); + # Circle + apostrophe + blackbox-terminal + curtail + deja-dup + dialect + drawing + fractal + fragments + gnome-podcasts + gnome-secrets + gradience + gthumb + lollypop + mission-center + video-trimmer + wike + wordbook + + # Utilities + celluloid + ddcutil + gnuchess + ]; # Persisted Files user.persist.directories = [ diff --git a/modules/gui/desktop/gnome/iso.nix b/modules/gui/desktop/gnome/iso.nix @@ -10,7 +10,7 @@ in { displayManager.gdm.autoSuspend = false; # Disable Suspension desktopManager.gnome = { extraGSettingsOverrides = files.gnome.iso; - extraGSettingsOverridePackages = [pkgs.gnome.gnome-settings-daemon]; + extraGSettingsOverridePackages = [pkgs.gnome-settings-daemon]; favoriteAppsOverride = '' [org.gnome.shell] favorite-apps=[ 'org.gnome.Epiphany.desktop', 'nixos-manual.desktop', 'org.gnome.Console.desktop', 'org.gnome.Nautilus.desktop', 'gparted.desktop' ] @@ -19,7 +19,7 @@ in { }; # Essential Utilities - environment.systemPackages = with (pkgs.gnome // pkgs); [ + environment.systemPackages = with pkgs; [ gnome-console gnome-text-editor gnome-system-monitor diff --git a/modules/gui/desktop/hyprland/apps/default.nix b/modules/gui/desktop/hyprland/apps/default.nix @@ -8,7 +8,6 @@ }: with files; let inherit (lib) getExe mkIf; - inherit (config.gui) wallpaper; inherit (config.lib.stylix) colors; exists = app: builtins.elem app config.apps.list; theme = import ../theme.nix pkgs; @@ -38,8 +37,8 @@ in { evince font-manager geany - gnome.file-roller - gnome.gnome-disk-utility + file-roller + gnome-disk-utility hyprpicker custom.kebihelp lollypop @@ -51,7 +50,7 @@ in { qalculate-gtk remmina shotwell - transmission-gtk + transmission_4-gtk # Utilities custom.hyprutils @@ -157,15 +156,13 @@ in { settings = { ipc = false; splash = true; - preload = wallpaper; - wallpaper = ", ${wallpaper}"; }; }; # Terminal programs.kitty = { enable = true; - theme = with theme; "${name-alt}-${variant-alt}"; + themeFile = with theme; "${name-alt}-${variant-alt}"; keybindings = { "ctrl+c" = "copy_or_interrupt"; "kitty_mod+f" = "launch --allow-remote-control kitty +kitten search/search.py @active-kitty-window-id"; diff --git a/modules/gui/desktop/hyprland/apps/rules.nix b/modules/gui/desktop/hyprland/apps/rules.nix @@ -2,8 +2,9 @@ _: { wayland.windowManager.hyprland.settings = { ## Layer Rules layerrule = [ + "blur, ^(logout_dialog)$" + "blur, ^(nwg-drawer)$" "blur, ^(waybar)$" - "blur, ^(gtk-layer-shell)$" ]; ## Window Rules diff --git a/modules/gui/desktop/hyprland/apps/security.nix b/modules/gui/desktop/hyprland/apps/security.nix @@ -21,7 +21,6 @@ in { clock = true; indicator = true; font = sys.stylix.fonts.sansSerif.name; - fade-in = 1; effect-vignette = "0.3:1"; }; }; @@ -41,7 +40,7 @@ in { } { event = "lock"; - command = lock "${getExe pkgs.playerctl} pause -a" "--grace 10"; + command = lock "${getExe pkgs.playerctl} pause -a" "--grace 15 --grace-no-mouse"; } ]; diff --git a/modules/gui/desktop/hyprland/default.nix b/modules/gui/desktop/hyprland/default.nix @@ -72,12 +72,11 @@ in { # Greeter environment.persist.directories = ["/var/cache/regreet"]; - programs.regreet.settings.GTK = with config.stylix; { - application_prefer_dark_theme = true; - cursor_theme_name = cursor.name; - font_name = "${fonts.sansSerif.name} 16"; - icon_theme_name = theme.icons.name; - theme_name = theme.gtk.name; + stylix.targets.regreet.enable = true; + programs.regreet = { + extraCss = mkForce ""; + theme = mkForce theme.gtk; + iconTheme = mkForce theme.icons; }; } @@ -112,7 +111,10 @@ in { upower.enable = true; # Location - geoclue2.enable = true; + geoclue2 = { + enable = true; + geoProviderUrl = "https://beacondb.net/v1/geolocate"; + }; }; location.provider = "geoclue2"; diff --git a/modules/gui/desktop/hyprland/settings/default.nix b/modules/gui/desktop/hyprland/settings/default.nix @@ -21,13 +21,21 @@ in { ''; settings = { - debug.disable_logs = false; + debug = { + disable_logs = false; + error_position = 1; + }; # Display monitor = ", preferred, auto, 1"; - xwayland.force_zero_scaling = true; + xwayland = { + enabled = true; + force_zero_scaling = true; + }; input = { + focus_on_close = 1; + # Keyboard kb_layout = "us"; numlock_by_default = true; @@ -36,10 +44,10 @@ in { follow_mouse = 1; # Focus on cursor move accel_profile = "flat"; touchpad = { - disable_while_typing = true; - natural_scroll = true; tap-to-click = true; tap-and-drag = true; + natural_scroll = true; + disable_while_typing = false; }; }; @@ -50,6 +58,7 @@ in { workspace_back_and_forth = true; }; + # Touchpad Gestures gestures = { workspace_swipe = true; workspace_swipe_fingers = 3; @@ -58,17 +67,28 @@ in { workspace_swipe_create_new = true; }; + # Cursor Settings + cursor = { + default_monitor = display; + hide_on_key_press = true; + sync_gsettings_theme = true; + warp_on_change_workspace = true; + }; + # Tiling Layout dwindle = { pseudotile = true; # Keep floating dimensions preserve_split = true; + smart_split = true; }; misc = { enable_swallow = true; # Window Swallowing focus_on_activate = true; + disable_autoreload = false; # Enable configuration Polling initial_workspace_tracking = 1; + new_window_takes_over_fullscreen = 2; # Interfere with wallpaper daemons force_default_wallpaper = 0; @@ -76,15 +96,25 @@ in { # Graphics vrr = 1; - no_direct_scanout = false; - hide_cursor_on_key_press = true; + }; + + render = { + direct_scanout = true; + explicit_sync = 2; }; general = { - resize_on_border = true; allow_tearing = !fancy; - default_cursor_monitor = display; + resize_on_border = true; + + # Floating Layout + snap = { + enabled = true; + window_gap = 15; + monitor_gap = 10; + border_overlap = true; + }; } // # Visuals @@ -99,21 +129,30 @@ in { active = "rgb(${base0A}) rgb(${base0D}) 90deg"; inactive = "rgb(${base03}) rgb(${base0D}) 90deg"; in { + auto_group = true; + insert_after_current = true; + drag_into_group = 2; + merge_groups_on_drag = true; + merge_groups_on_groupbar = true; + merge_floated_into_tiled_on_groupbar = false; + group_on_movetoworkspace = false; + + "col.border_active" = mkForce active; + "col.border_locked_active" = mkForce active; + "col.border_inactive" = mkForce inactive; + "col.border_locked_inactive" = mkForce inactive; + groupbar = { enabled = true; render_titles = false; height = 7; scrolling = true; gradients = true; - "col.active" = active; - "col.locked_active" = active; - "col.inactive" = inactive; - "col.locked_inactive" = inactive; + "col.active" = mkForce active; + "col.locked_active" = mkForce active; + "col.inactive" = mkForce inactive; + "col.locked_inactive" = mkForce inactive; }; - "col.border_active" = mkForce active; - "col.border_locked_active" = mkForce active; - "col.border_inactive" = mkForce inactive; - "col.border_locked_inactive" = mkForce inactive; }; animation = { @@ -143,12 +182,15 @@ in { decoration = mkIf fancy { rounding = 10; - drop_shadow = true; - shadow_ignore_window = true; - shadow_offset = "0 2"; - shadow_range = 20; dim_special = 0.3; + shadow = { + enabled = true; + ignore_window = true; + offset = "0 2"; + range = 20; + }; + blur = { enabled = true; brightness = 1.0; diff --git a/modules/gui/desktop/hyprland/settings/keybindings.nix b/modules/gui/desktop/hyprland/settings/keybindings.nix @@ -21,7 +21,7 @@ "$mod, up, movefocus, u" "$mod, down, movefocus, d" "ALT, A, focusurgentorlast" - "ALT, A, bringactivetotop," + "ALT, A, alterzorder, top" # Window Swap "$mod SHIFT, left, swapwindow, l" diff --git a/modules/gui/desktop/hyprland/settings/plugins.nix b/modules/gui/desktop/hyprland/settings/plugins.nix @@ -64,7 +64,7 @@ overrideGaps = true; gapsIn = gaps; gapsOut = gaps; - panelBorderWidth = 1; + panelBorderWidth = 0; panelBorderColor = "rgb(${base0A})"; workspaceActiveBorder = "rgb(${base0D})"; }; diff --git a/modules/gui/desktop/hyprland/theme.nix b/modules/gui/desktop/hyprland/theme.nix @@ -4,13 +4,11 @@ pkgs: rec { name-alt = "Catppuccin"; accent = "blue"; - accent-alt = "Blue"; - variant = "macchiato"; variant-alt = "Macchiato"; gtk = { - name = "${name-alt}-${variant-alt}-Standard-${accent-alt}-Dark"; + name = "${name}-${variant}-${accent}-standard"; package = pkgs.catppuccin-gtk.override { accents = [accent]; inherit variant; @@ -18,10 +16,9 @@ pkgs: rec { }; qt = { - name = "${name-alt}-${variant-alt}-${accent-alt}"; + name = "${name}-${variant}-${accent}"; package = pkgs.catppuccin-kvantum.override { - accent = accent-alt; - variant = variant-alt; + inherit accent variant; }; }; diff --git a/modules/gui/desktop/xfce/compositor.nix b/modules/gui/desktop/xfce/compositor.nix @@ -6,7 +6,7 @@ ## Picom Compositor Configuration ## services.picom = rec { enable = true; - package = pkgs.unstable.picom; + package = pkgs.picom; # Driver backend = "egl"; diff --git a/modules/gui/desktop/xfce/default.nix b/modules/gui/desktop/xfce/default.nix @@ -99,12 +99,12 @@ in { # Utilities environment.systemPackages = with pkgs.xfce // pkgs; [ galculator - gnome.file-roller + file-roller mate.atril orage pavucontrol system-config-printer - transmission-gtk + transmission_3-gtk xorg.xkill xfce4-clipman-plugin diff --git a/modules/gui/theme.nix b/modules/gui/theme.nix @@ -79,6 +79,7 @@ in { user.homeConfig.stylix.targets = { firefox.enable = false; + spicetify.enable = mkIf (exists "spotify") true; vscode.enable = mkIf (exists "vscode") false; }; }; diff --git a/modules/hardware/filesystem.nix b/modules/hardware/filesystem.nix @@ -56,21 +56,23 @@ in { }; ## File System Configuration ## - config = + config = mkMerge [ { warnings = optional (filesystem == null) (options.hardware.filesystem.description + " is unset"); + + ## Common Partitions + boot.supportedFilesystems = { + ntfs = true; + vfat = true; + zfs = true; + }; } - // mkIf (filesystem != null) (mkMerge [ + + (mkIf (filesystem != null) { - ## Partitions ## - # Common Partitions programs.fuse.userAllowOther = true; - boot.supportedFilesystems = { - ntfs = true; - vfat = true; - }; # EFI System Partition fileSystems."/boot" = { @@ -81,180 +83,179 @@ in { # SWAP Partition swapDevices = [{device = "/dev/disk/by-partlabel/swap";}]; boot.kernel.sysctl."vm.swappiness" = 1; - } + }) + + ## Simple File System Configuration using EXT4 ## + (mkIf (filesystem == "simple") { + fileSystems = { + # ROOT Partition + "/" = { + device = "/dev/disk/by-partlabel/System"; + fsType = "ext4"; + }; + }; + }) - ## Simple File System Configuration using EXT4 ## - (mkIf (filesystem == "simple") { - fileSystems = { + ## Advanced File System Configuration using ZFS ## + (mkIf (filesystem == "advanced") (let + rollback = '' + zfs rollback -r fspool/system/root@blank && echo "Rollback Complete!" + ''; + in { + fileSystems = + { # ROOT Partition "/" = { - device = "/dev/disk/by-partlabel/System"; - fsType = "ext4"; + device = "fspool/system/root"; + fsType = "zfs"; }; - }; - }) - - ## Advanced File System Configuration using ZFS ## - (mkIf (filesystem == "advanced") (let - rollback = '' - zfs rollback -r fspool/system/root@blank && echo "Rollback Complete!" - ''; - in { - fileSystems = - { - # ROOT Partition - "/" = { - device = "fspool/system/root"; - fsType = "zfs"; - }; - - # NIX Partition - "/nix" = { - device = "fspool/system/nix"; - fsType = "zfs"; - }; - # PERSISTENT Partition - "/data" = { - device = "fspool/data"; - fsType = "zfs"; - neededForBoot = true; - }; - } - // filterAttrs (name: _: hasPrefix "/etc" name) - (listToAttrs (map (item: nameValuePair item.directory {neededForBoot = true;}) - config.environment.persist.directories)); - - # Boot Settings - boot = { - resumeDevice = "/dev/disk/by-partlabel/swap"; - supportedFilesystems.zfs = true; - kernelParams = ["elevator=none"]; - zfs = { - allowHibernation = true; - forceImportRoot = false; - forceImportAll = false; - devNodes = "/dev/disk/by-partlabel/System"; + # NIX Partition + "/nix" = { + device = "fspool/system/nix"; + fsType = "zfs"; }; - initrd.systemd = { - enable = true; - services.rollback = { - description = "Wipe ZFS partition for Opt-In State Configuration"; - wantedBy = ["initrd.target"]; - after = ["zfs-import-fspool.service"]; - before = ["sysroot.mount"]; - path = [pkgs.zfs]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = rollback; - }; + # PERSISTENT Partition + "/data" = { + device = "fspool/data"; + fsType = "zfs"; + neededForBoot = true; }; + } + // filterAttrs (name: _: hasPrefix "/etc" name) + (listToAttrs (map (item: nameValuePair item.directory {neededForBoot = true;}) + config.environment.persist.directories)); + + # Boot Settings + boot = { + resumeDevice = "/dev/disk/by-partlabel/swap"; + kernelParams = ["elevator=none"]; + zfs = { + allowHibernation = true; + forceImportRoot = false; + forceImportAll = false; + devNodes = "/dev/disk/by-partlabel/System"; }; - # Debug - specialisation.recovery.configuration = { - boot.initrd = { - systemd.enable = mkForce false; - postDeviceCommands = mkAfter rollback; + initrd.systemd = { + enable = true; + services.rollback = { + description = "Wipe ZFS partition for Opt-In State Configuration"; + wantedBy = ["initrd.target"]; + after = ["zfs-import-fspool.service"]; + before = ["sysroot.mount"]; + path = [pkgs.zfs]; + unitConfig.DefaultDependencies = "no"; + serviceConfig.Type = "oneshot"; + script = rollback; }; }; + }; - # Persisted Files - environment.persistence = { - "${files.path.persist}" = { - files = ["/etc/machine-id"]; - directories = [ - files.path.system - "/var/log" - "/var/lib/AccountsService" - "/var/lib/nixos" - "/var/lib/systemd/coredump" - ]; - }; + # Debug + specialisation.recovery.configuration = { + boot.initrd = { + systemd.enable = mkForce false; + postResumeCommands = mkAfter rollback; + }; + }; - "/data" = { - hideMounts = true; - users = - mapAttrs (_: _: { - inherit (config.user.persist) files; - directories = - [ - "Desktop" - "Documents" - "Downloads" - "Music" - "Pictures" - "Projects" - "Public" - "Videos" - { - directory = ".local/share/keyrings"; - mode = "0700"; - } - ] - ++ config.user.persist.directories; - }) - config.user.settings; - }; + # Persisted Files + environment.persistence = { + "${files.path.persist}" = { + files = ["/etc/machine-id"]; + directories = [ + files.path.system + "/var/log" + "/var/lib/AccountsService" + "/var/lib/nixos" + "/var/lib/systemd/coredump" + ]; + }; + + "/data" = { + hideMounts = true; + users = + mapAttrs (_: _: { + inherit (config.user.persist) files; + directories = + [ + "Desktop" + "Documents" + "Downloads" + "Music" + "Pictures" + "Projects" + "Public" + "Videos" + { + directory = ".local/share/keyrings"; + mode = "0700"; + } + ] + ++ config.user.persist.directories; + }) + config.user.settings; }; + }; - system.activationScripts.dotfiles = let - dir = with files.path; "${persist}/${system}"; - in '' - chown root:keys ${dir} - chmod 774 -R ${dir} - ''; + system.activationScripts.dotfiles = let + dir = with files.path; "${persist}/${system}"; + in '' + chown root:keys ${dir} + chmod 774 -R ${dir} + ''; - user.homeConfig.systemd.user.services.persist-trash = { - Unit.Description = "Persist Trash Folder"; - Install.WantedBy = ["default.target"]; - Service = let - dir = '' - LOCAL="$HOME/.local/share/Trash" - PERSIST="/data/home/$USER/Trash" - mkdir -p "$LOCAL" + user.homeConfig.systemd.user.services.persist-trash = { + Unit.Description = "Persist Trash Folder"; + Install.WantedBy = ["default.target"]; + Service = let + dir = '' + LOCAL="$HOME/.local/share/Trash" + PERSIST="/data/home/$USER/Trash" + mkdir -p "$LOCAL" + ''; + in { + Type = "oneshot"; + RemainAfterExit = true; + StandardOutput = "journal"; + ExecStart = "${pkgs.writeShellApplication { + name = "retrieve"; + runtimeInputs = [pkgs.coreutils]; + text = '' + ${dir} + if [ -d "$PERSIST" ] + then + cp -r "$PERSIST"/. "$LOCAL" + rm -rf "$PERSIST" + fi ''; - in { - Type = "oneshot"; - RemainAfterExit = true; - StandardOutput = "journal"; - ExecStart = "${pkgs.writeShellApplication { - name = "retrieve"; - runtimeInputs = [pkgs.coreutils]; - text = '' - ${dir} - if [ -d "$PERSIST" ] - then - cp -r "$PERSIST"/. "$LOCAL" - rm -rf "$PERSIST" - fi - ''; - }}/bin/retrieve"; - ExecStop = "${pkgs.writeShellApplication { - name = "migrate"; - runtimeInputs = [pkgs.coreutils]; - text = '' - ${dir} - mkdir -p "$PERSIST" - cp -r "$LOCAL"/. "$PERSIST" - ''; - }}/bin/migrate"; - }; + }}/bin/retrieve"; + ExecStop = "${pkgs.writeShellApplication { + name = "migrate"; + runtimeInputs = [pkgs.coreutils]; + text = '' + ${dir} + mkdir -p "$PERSIST" + cp -r "$LOCAL"/. "$PERSIST" + ''; + }}/bin/migrate"; }; + }; - # Maintainence - services.zfs = { - trim.enable = true; - autoScrub.enable = true; - autoSnapshot = { - enable = true; - hourly = 12; - daily = 7; - weekly = 3; - monthly = 1; - }; + # Maintainence + services.zfs = { + trim.enable = true; + autoScrub.enable = true; + autoSnapshot = { + enable = true; + hourly = 12; + daily = 7; + weekly = 3; + monthly = 1; }; - })) - ]); + }; + })) + ]; } diff --git a/modules/hardware/virtualisation/android.nix b/modules/hardware/virtualisation/android.nix @@ -30,7 +30,7 @@ in { virtualisation.waydroid.enable = true; environment.systemPackages = [pkgs.wl-clipboard]; - #!# Run 'waydroid init -s GAPPS -f' to install the image + #!# Run 'waydroid init -s GAPPS -f' to install system image # Environment Setup users.groups.android = { diff --git a/modules/hardware/virtualisation/default.nix b/modules/hardware/virtualisation/default.nix @@ -25,7 +25,7 @@ in { environment.systemPackages = with pkgs; [libguestfs virtiofsd]; programs.virt-manager.enable = true; - #!# Run 'virsh net-start default' to start network service + #!# Run 'virsh net-start default' to start virtual network service # VM Utilities virtualisation = { diff --git a/modules/shell/default.nix b/modules/shell/default.nix @@ -86,6 +86,15 @@ in { map-syntax = [".ignore:Git Ignore"]; }; }; + + # Eza Configuration + eza = { + enable = true; + colors = "auto"; + icons = "auto"; + git = true; + extraOptions = ["--group-directories-first"]; + }; }; # Fetch @@ -99,7 +108,7 @@ in { # Programs c = "bat"; - l = "eza -b -h -l -F --octal-permissions --icons --time-style iso"; + l = "eza -b -h -l -F --octal-permissions --time-style iso"; grep = "grep --color"; colors = "${scripts.colors}"; edit = "sudo $EDITOR"; diff --git a/packages/gnome-pano/default.nix b/packages/gnome-pano/default.nix @@ -23,7 +23,7 @@ in ]; nativeBuildInputs = [wrapGAppsHook]; - buildInputs = [gnome.gnome-shell libgda gsound]; + buildInputs = [gnome-shell libgda gsound]; installPhase = '' mkdir -p $out/share/gnome-shell/extensions cp -r -T . $out/share/gnome-shell/extensions/${uuid} diff --git a/packages/hyprland-shaders.nix b/packages/hyprland-shaders.nix @@ -6,7 +6,7 @@ with pkgs; stdenv.mkDerivation { pname = "hyprland-shaders"; - version = "v0.39"; + version = "v1"; src = fetchFromGitHub { owner = "hyprland-community"; diff --git a/packages/overlays/gnome.nix b/packages/overlays/gnome.nix @@ -1,26 +0,0 @@ -final: prev: { - ## GNOME Desktop Patches - gnome = prev.gnome.overrideScope (_: gprev: { - # Mutter WM X11 Improvements - # https://aur.archlinux.org/packages/mutter-x11-scaling - mutter = gprev.mutter.overrideAttrs (old: { - patches = - if old.version == "46.2" - then - ( - (old.patches or []) - ++ [ - (prev.fetchpatch { - url = "https://raw.githubusercontent.com/puxplaying/mutter-x11-scaling/7aa432d4366fdd5a2687a78848b25da4f8ab5c68/x11-Add-support-for-fractional-scaling-using-Randr.patch"; - hash = "sha256-HdBE9uiFBTqWU1fE0n0XFYObqX3R/+itCxFvsUnA554="; - }) - (prev.fetchpatch { - url = "https://raw.githubusercontent.com/puxplaying/mutter-x11-scaling/eff4767168c107ef268c7e8b32eaea41a224efb4/mutter-fix-x11-restart.patch"; - hash = "sha256-hSqmi4PEAXgLPN3t8/cKP65F9Pmhgpfxm+VzfT0upx8="; - }) - ] - ) - else throw "Update GNOME Mutter patchset to latest version"; - }); - }); -} diff --git a/packages/patches/calibre.patch b/packages/patches/calibre.patch @@ -0,0 +1,38 @@ +From 275f3090680975a30657f61f6373ce9acebdada2 Mon Sep 17 00:00:00 2001 +From: kilianar <mail@kilianar.de> +Date: Thu, 14 Nov 2024 12:21:31 +0100 +Subject: [PATCH] calibre: 7.20.0 -> 7.21.0 + +https://github.com/kovidgoyal/calibre/releases/tag/v7.21.0 +(cherry picked from commit df4f16e2b2c4dfccf3081961095a537f0e37a558) +--- + pkgs/by-name/ca/calibre/package.nix | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/pkgs/by-name/ca/calibre/package.nix b/pkgs/by-name/ca/calibre/package.nix +index d0b604fd2f1c9..09ca09b319caf 100644 +--- a/pkgs/by-name/ca/calibre/package.nix ++++ b/pkgs/by-name/ca/calibre/package.nix +@@ -33,11 +33,11 @@ + + stdenv.mkDerivation (finalAttrs: { + pname = "calibre"; +- version = "7.20.0"; ++ version = "7.21.0"; + + src = fetchurl { + url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz"; +- hash = "sha256-BhJEJsQKk/kJxycm/1mbtlrSaeFQPvWGGB9DUMidgII="; ++ hash = "sha256-61Nbclkt59sh8VHh3uRw0GvlDjlyOz1jrsFMMIuzPLE="; + }; + + patches = [ +@@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: { + (fetchpatch { + name = "0007-Hardening-Qt-code.patch"; + url = "https://raw.githubusercontent.com/debian-calibre/calibre/debian/${finalAttrs.version}+ds-1/debian/patches/hardening/0007-Hardening-Qt-code.patch"; +- hash = "sha256-8tOxFCmZal+JxOz6LeuUr+TgX7IaxC9Ow73bMgFJPt8="; ++ hash = "sha256-9hi4T9LB7aklWASMR8hIuKBgZm2arDvORfmk9S8wgCA="; + }) + ] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; + diff --git a/packages/patches/mission-center.patch b/packages/patches/mission-center.patch @@ -0,0 +1,94 @@ +From cf5a1c32934569601207395e03b3fa7ad66dd625 Mon Sep 17 00:00:00 2001 +From: seth <getchoo@tuta.io> +Date: Tue, 19 Nov 2024 05:00:20 -0500 +Subject: [PATCH 1/2] mission-center: use RUSTFLAGS to link libGL and libvulkan + +A less crude method than patching `$cargoDepsCopy` + +(cherry picked from commit dd78a15b79aa3f741d16deadf209f6074938af82) +--- + pkgs/by-name/mi/mission-center/package.nix | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git a/pkgs/by-name/mi/mission-center/package.nix b/pkgs/by-name/mi/mission-center/package.nix +index b21baead33796..4067bee90edae 100644 +--- a/pkgs/by-name/mi/mission-center/package.nix ++++ b/pkgs/by-name/mi/mission-center/package.nix +@@ -35,9 +35,8 @@ + pango, + sqlite, + udev, +- wayland, +- + vulkan-loader, ++ wayland, + + versionCheckHook, + }: +@@ -111,6 +110,7 @@ stdenv.mkDerivation rec { + pango + sqlite + udev ++ vulkan-loader + wayland + ]; + +@@ -118,12 +118,6 @@ stdenv.mkDerivation rec { + substituteInPlace src/sys_info_v2/gatherer.rs \ + --replace-fail '"missioncenter-gatherer"' '"${placeholder "out"}/bin/missioncenter-gatherer"' + +- substituteInPlace $cargoDepsCopy/gl_loader-*/src/glad.c \ +- --replace-fail "libGL.so.1" "${libGL}/lib/libGL.so.1" +- +- substituteInPlace $cargoDepsCopy/ash-*/src/entry.rs \ +- --replace-fail '"libvulkan.so.1"' '"${vulkan-loader}/lib/libvulkan.so.1"' +- + SRC_GATHERER=$NIX_BUILD_TOP/source/src/sys_info_v2/gatherer + SRC_GATHERER_NVTOP=$SRC_GATHERER/3rdparty/nvtop + +@@ -151,6 +145,18 @@ stdenv.mkDerivation rec { + versionCheckProgram = "${builtins.placeholder "out"}/bin/${meta.mainProgram}"; + doInstallCheck = true; + ++ env = { ++ # Make sure libGL and libvulkan can be found by dlopen() ++ RUSTFLAGS = toString ( ++ map (flag: "-C link-arg=" + flag) [ ++ "-Wl,--push-state,--no-as-needed" ++ "-lGL" ++ "-lvulkan" ++ "-Wl,--pop-state" ++ ] ++ ); ++ }; ++ + meta = { + description = "Monitor your CPU, Memory, Disk, Network and GPU usage"; + homepage = "https://gitlab.com/mission-center-devs/mission-center"; + +From d86a6878f54221ff5d1d4ddce0eb27864f1a472e Mon Sep 17 00:00:00 2001 +From: seth <getchoo@tuta.io> +Date: Tue, 19 Nov 2024 05:42:39 -0500 +Subject: [PATCH 2/2] mission-center: add getchoo to maintainers + +(cherry picked from commit 56e2eb4d1ae50f30acad6fa1fe0738b3d62adcde) +--- + pkgs/by-name/mi/mission-center/package.nix | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/pkgs/by-name/mi/mission-center/package.nix b/pkgs/by-name/mi/mission-center/package.nix +index 4067bee90edae..3b2972df4d24a 100644 +--- a/pkgs/by-name/mi/mission-center/package.nix ++++ b/pkgs/by-name/mi/mission-center/package.nix +@@ -162,7 +162,10 @@ stdenv.mkDerivation rec { + homepage = "https://gitlab.com/mission-center-devs/mission-center"; + changelog = "https://gitlab.com/mission-center-devs/mission-center/-/releases/v${version}"; + license = lib.licenses.gpl3Only; +- maintainers = with lib.maintainers; [ GaetanLepage ]; ++ maintainers = with lib.maintainers; [ ++ GaetanLepage ++ getchoo ++ ]; + platforms = lib.platforms.linux; + mainProgram = "missioncenter"; + }; diff --git a/scripts/hyprutils.nix b/scripts/hyprutils.nix @@ -49,7 +49,7 @@ in name = "hyprutils"; runtimeInputs = with pkgs; [ dunst - gnome.zenity + zenity hyprshade hyprworld.hyprland custom.hyprshellevents @@ -214,11 +214,11 @@ in esac ;; "zoom") - ZOOM=$(hyprctl getoption misc:cursor_zoom_factor | grep float | awk '{print $2}') + ZOOM=$(hyprctl getoption cursor:zoom_factor | grep float | awk '{print $2}') case "$2" in "in") ZOOM=$(echo "$ZOOM" | awk '{print $1 + 0.2}') - hyprctl keyword misc:cursor_zoom_factor "$ZOOM" + hyprctl keyword cursor:zoom_factor "$ZOOM" hyprctl notify 1 1000 0 "Zoomed In ($ZOOM""x)" ;; "out") @@ -227,7 +227,7 @@ in hyprctl notify 3 2000 0 "Already zoomed out" else ZOOM=$(echo "$ZOOM" | awk '{print $1 - 0.2}') - hyprctl keyword misc:cursor_zoom_factor "$ZOOM" + hyprctl keyword cursor:zoom_factor "$ZOOM" hyprctl notify 1 1000 0 "Zoomed Out ($ZOOM""x)" fi ;; @@ -244,7 +244,7 @@ in hyprctl notify 1 2000 0 "Compositor Effects Disabled" hyprctl --batch "\ keyword animations:enabled 0;\ - keyword decoration:drop_shadow 0;\ + keyword decoration:shadow:enabled 0;\ keyword decoration:blur:enabled 0;\ keyword general:gaps_in 0;\ keyword general:gaps_out 0;\ diff --git a/secrets/vortex/gitlab-runner.secret b/secrets/vortex/gitlab-runner.secret @@ -1,13 +1,13 @@ { - "data": "ENC[AES256_GCM,data:dPTv/M5Bc6+s55lKQ+DRsG45laezTXfniTHeXTK8lYEaJ3CrcaFGEOrj3f8kCW7Uj4GxMwR86pO42t/SEoG3S7lyUo3e7tzVJQ==,iv:kMJqsvaadihOYDqJE0INGorXwpv+0wYERinWMPGwW9c=,tag:DwNteZVvjnFB2ILWgZSjUA==,type:str]", + "data": "ENC[AES256_GCM,data:wLxXizOiMagSs/DFYYsBLn0aIVu4QbA7hgv7oscYykM5uhr86DiWR5TYNPmebIMvl3n76uoAoBrkxDtWEhgxc9GtZ0x7cQ==,iv:jf6RlJHfTLQ9Hy1CRDR9oGmDYEBb/lvA+uu1NW4l/ec=,tag:palTrI4jk+4phzHEt1jLsQ==,type:str]", "sops": { "kms": null, "gcp_kms": null, "azure_kv": null, "hc_vault": null, "age": null, - "lastmodified": "2022-01-20T08:14:28Z", - "mac": "ENC[AES256_GCM,data:q5256oSAE4mqunXBpABRnCMhrKEZJQMzgmk1dVuj1JBYb7Tjr2+xCAFXe8iSEgup4ZunjQfk8AcqoO5YFEy1slC4zrDmbYxG/0BhsHEr/vaQYlA1Rfp6dDAxjEi5eSAvpPa1gaK0gBfwQpkHFgjW6r4Pg3ECxRQe+40p2sB10X4=,iv:gAQjbLjAep1+Y/SbNVPFHQhrU/tZqA4oYNhm6Vge7Q4=,tag:i4q5qkzRYowHHdvMnpyQ9Q==,type:str]", + "lastmodified": "2024-11-20T17:53:36Z", + "mac": "ENC[AES256_GCM,data:HLVKb/6r1ZINxy2yZt5uo3VXhB3QumBP9egoDPIcaBsmrF7AdWltRRzWE6W7zSjok5suGZ9RVS9GiSLl9IQJQlNsTdVO1739Fmn9DEj5h+LDwGISM0LysLQPGBxpjsB+JZ1+FnSGamUTO+xDyuSt1Ubl5rLV59fMS1JxJ2buqLA=,iv:xMDBfzEJvxWItvx3pL7ZtQrW0j85s7AYMCEVr4gcxFE=,tag:gYr5LOppdQDd6AK9poiHfQ==,type:str]", "pgp": [ { "created_at": "2021-12-19T10:16:57Z", @@ -16,6 +16,6 @@ } ], "unencrypted_suffix": "_unencrypted", - "version": "3.7.1" + "version": "3.8.1" } } \ No newline at end of file diff --git a/site/config.toml b/site/config.toml @@ -13,7 +13,7 @@ compile_sass = true build_search_index = true # RSS Feed -feed_filename = "rss.xml" +feed_filenames = ["rss.xml"] # Taxonomies # See <https://www.getzola.org/documentation/content/taxonomies/> diff --git a/site/content/blog/_index.md b/site/content/blog/_index.md @@ -3,7 +3,7 @@ title = "The Blog" sort_by = "date" paginate_by = 5 insert_anchor_links = "right" -generate_feed = true +generate_feeds = true [extra] blog_search = true diff --git a/site/content/blog/nix.md b/site/content/blog/nix.md @@ -40,4 +40,5 @@ Below is a list of handy, helpful resources and documentation that can be used t # Footnotes [^1]: Provided that they are not **_garbage collected_** - Removing or modifying a package from the configuration doesn't exactly delete older versions from the system. All they do is create a new derivation that no longer contains symlinks to the older packages. Since disk space is limited, unused packages should be removed at some point, which can be done using `nix-collect-garbage -d` or `nix store --gc` + [^2]: Evaluation of expressions is delayed until their values are actually needed. For more information, see [this](https://en.wikipedia.org/wiki/Lazy_evaluation) diff --git a/site/default.nix b/site/default.nix @@ -3,7 +3,7 @@ pkgs, }: with pkgs; - stdenvNoCC.mkDerivation rec { + stdenvNoCC.mkDerivation { pname = "website"; version = "stable"; src = ./.;