From f8783758d2ad636d593644731ae1d61a91c4c2a7 Mon Sep 17 00:00:00 2001 From: workflow <4farlion@gmail.com> Date: Mon, 5 Aug 2024 15:41:57 +0100 Subject: [PATCH] refac(nix): nixpkgs-unstable -> nixos-unstable `nixos-unstable` seems to be the slightly more "stable" channel with a number of NixOS-specific tests being run only there. It also doesn't contain MacOS packages, so has a smaller overhead and is the basis for many indexes such as search.nixos.org. --- flake.lock | 32 +-- flake.nix | 13 +- home.nix | 4 +- home/autorandr.nix | 4 +- home/gtk-qt/default.nix | 6 +- home/lf.nix | 6 +- home/neovim/default.nix | 14 +- home/services/dunst/default.nix | 6 +- nix/default.nix | 2 +- packages/default.nix | 332 ++++++++++++++++---------------- 10 files changed, 200 insertions(+), 219 deletions(-) diff --git a/flake.lock b/flake.lock index 25ee6cd..cca54ac 100644 --- a/flake.lock +++ b/flake.lock @@ -75,50 +75,50 @@ "type": "github" } }, - "nixpkgs": { + "nixos-unstable": { "locked": { - "lastModified": 1722651103, - "narHash": "sha256-IRiJA0NVAoyaZeKZluwfb2DoTpBAj+FLI0KfybBeDU0=", + "lastModified": 1722630782, + "narHash": "sha256-hMyG9/WlUi0Ho9VkRrrez7SeNlDzLxalm9FwY7n/Noo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a633d89c6dc9a2a8aae11813a62d7c58b2c0cc51", + "rev": "d04953086551086b44b6f3c6b7eeb26294f207da", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.05", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2311": { + "nixpkgs": { "locked": { - "lastModified": 1720535198, - "narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", + "lastModified": 1722651103, + "narHash": "sha256-IRiJA0NVAoyaZeKZluwfb2DoTpBAj+FLI0KfybBeDU0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", + "rev": "a633d89c6dc9a2a8aae11813a62d7c58b2c0cc51", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs-2311": { "locked": { - "lastModified": 1722730825, - "narHash": "sha256-X6U+w8qFBuGPCYrZzc9mpN34aRjQ8604MonpBUkj908=", + "lastModified": 1720535198, + "narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f3834de3782b82bfc666abf664f946d0e7d1f116", + "rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } @@ -162,9 +162,9 @@ "home-manager": "home-manager", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", + "nixos-unstable": "nixos-unstable", "nixpkgs": "nixpkgs", "nixpkgs-2311": "nixpkgs-2311", - "nixpkgs-unstable": "nixpkgs-unstable", "rmob": "rmob", "secrets": "secrets" } diff --git a/flake.nix b/flake.nix index ef86b9f..55076f5 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,7 @@ }; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixos-hardware.url = "github:nixos/nixos-hardware/master"; rmob = { url = "https://flakehub.com/f/workflow/rmob/*.tar.gz"; @@ -23,18 +23,15 @@ }; outputs = { - self, - nix-index-database, nixpkgs, nixpkgs-2311, - nixpkgs-unstable, - nixos-hardware, + nixos-unstable, home-manager, secrets, ... } @ inputs: let overlays = { - unstable = import nixpkgs-unstable { + unstable = import nixos-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; @@ -55,7 +52,7 @@ nix = { registry = { nixpkgs-local.flake = nixpkgs; - nixpkgs-unstable-local.flake = nixpkgs-unstable; + nixos-unstable-local.flake = nixos-unstable; }; }; @@ -97,7 +94,7 @@ nix = { registry = { nixpkgs-local.flake = nixpkgs; - nixpkgs-unstable-local.flake = nixpkgs-unstable; + nixos-unstable-local.flake = nixos-unstable; }; }; diff --git a/home.nix b/home.nix index 44dbb5e..8d4e9db 100644 --- a/home.nix +++ b/home.nix @@ -70,8 +70,6 @@ ] ++ secretImports; - nixpkgs-unstable = pkgs.unstable; - profile = pkgs.callPackage ./lib/profile.nix {}; scripts = pkgs.callPackage ./home/scripts {}; @@ -244,7 +242,7 @@ in { lorri.enable = true; flameshot = { - package = nixpkgs-unstable.flameshot; + package = pkgs.unstable.flameshot; enable = true; settings = { General = { diff --git a/home/autorandr.nix b/home/autorandr.nix index 2f2a9b9..7b95f15 100644 --- a/home/autorandr.nix +++ b/home/autorandr.nix @@ -8,8 +8,6 @@ pkgs, ... }: let - nixpkgs-unstable = pkgs.unstable; - baseHook = '' pkill -9 variety 2> /dev/null variety &>/dev/null & @@ -28,7 +26,7 @@ in { if isHidpi then hidpiHook else baseHook; - notify-i3 = "${nixpkgs-unstable.i3-gaps}/bin/i3-msg restart"; + notify-i3 = "${pkgs.unstable.i3-gaps}/bin/i3-msg restart"; change-dpi = '' case "$AUTORANDR_CURRENT_PROFILE" in movie) diff --git a/home/gtk-qt/default.nix b/home/gtk-qt/default.nix index 6e41772..c74b849 100644 --- a/home/gtk-qt/default.nix +++ b/home/gtk-qt/default.nix @@ -1,6 +1,4 @@ -{pkgs, ...}: let - nixpkgs-unstable = pkgs.unstable; -in { +{pkgs, ...}: { gtk = { enable = true; font = { @@ -9,7 +7,7 @@ in { }; iconTheme = { name = "Pop"; - package = nixpkgs-unstable.pop-icon-theme; + package = pkgs.unstable.pop-icon-theme; }; theme = { name = "Pop"; diff --git a/home/lf.nix b/home/lf.nix index e41dfaa..70c7d88 100644 --- a/home/lf.nix +++ b/home/lf.nix @@ -1,6 +1,4 @@ -{pkgs, ...}: let - nixpkgs-unstable = pkgs.unstable; -in { +{pkgs, ...}: { programs.lf = { enable = true; @@ -148,7 +146,7 @@ in { previewer = { keybinding = "i"; - source = "${nixpkgs-unstable.pistol}/bin/pistol"; + source = "${pkgs.unstable.pistol}/bin/pistol"; }; settings = { diff --git a/home/neovim/default.nix b/home/neovim/default.nix index c8e2ca0..149dbae 100644 --- a/home/neovim/default.nix +++ b/home/neovim/default.nix @@ -1,9 +1,5 @@ -{ - pkgs, - inputs, - ... -}: let - nixpkgs-unstable = pkgs.unstable; +{pkgs, ...}: let + nixos-unstable = pkgs.unstable; bookmarks-nvim = pkgs.vimUtils.buildVimPlugin { name = "bookmarks-nvim"; @@ -255,7 +251,7 @@ in { type = "lua"; } { - plugin = nixpkgs-unstable.vimPlugins.ChatGPT-nvim; + plugin = nixos-unstable.vimPlugins.ChatGPT-nvim; config = '' require("chatgpt").setup({ openai_params = { @@ -313,7 +309,7 @@ in { ''; type = "lua"; } - nixpkgs-unstable.vimPlugins.copilot-vim + nixos-unstable.vimPlugins.copilot-vim { plugin = nvim-web-devicons; config = '' @@ -371,7 +367,7 @@ in { ''; type = "lua"; } - nixpkgs-unstable.vimPlugins.leap-nvim + nixos-unstable.vimPlugins.leap-nvim { plugin = lf-nvim; config = '' diff --git a/home/services/dunst/default.nix b/home/services/dunst/default.nix index 9402262..48109f1 100644 --- a/home/services/dunst/default.nix +++ b/home/services/dunst/default.nix @@ -1,13 +1,11 @@ # Themes and many setting looted from: https://github.com/Kthulu120/i3wm-themes/blob/master/Nature/.config/dunst/dunstrc -{pkgs, ...}: let - nixpkgs-unstable = pkgs.unstable; -in { +{pkgs, ...}: { services.dunst = { enable = true; iconTheme = { name = "Pop"; - package = nixpkgs-unstable.pop-icon-theme; + package = pkgs.unstable.pop-icon-theme; size = "16x16"; }; diff --git a/nix/default.nix b/nix/default.nix index d662694..2ebba2e 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -18,7 +18,7 @@ nixPath = [ "nixpkgs=${pkgs.path}" - "nixpkgs-unstable=${pkgs.unstable.path}" + "nixos-unstable=${pkgs.unstable.path}" ]; }; diff --git a/packages/default.nix b/packages/default.nix index ded2702..1677403 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -2,170 +2,168 @@ pkgs, inputs, ... -}: let - nixpkgs-unstable = pkgs.unstable; - - packages = [ - pkgs.arandr - pkgs.asciinema - pkgs.audio-recorder - nixpkgs-unstable.autotiling # autotiling script for i3 - pkgs.awscli2 - pkgs.bc - pkgs.bind # Provides dig - pkgs.binutils - pkgs.bitwarden - pkgs.bitwarden-cli - pkgs.bluez - pkgs.bluez-tools - nixpkgs-unstable.brave - pkgs.brightnessctl - pkgs.cachix - pkgs.cargo-edit - pkgs.cargo-nextest - pkgs.chafa # Images to terminal pixels - pkgs.cht-sh - pkgs.cntr # for Nix sandbox breakpointHook debugging - pkgs.dconf - pkgs.ddcutil # For external monitor management, used by home/xsession/boar_ddc_fix.sh - pkgs.delta # Syntax highlighter for git - nixpkgs-unstable.devenv - pkgs.difftastic - nixpkgs-unstable.discord - pkgs.distrobox - pkgs.dnstracer - pkgs.docker-compose - pkgs.dunst - pkgs.element-desktop - pkgs.efivar - pkgs.exercism - pkgs.fd - pkgs.feh - pkgs.ffmpeg-full - pkgs.file - pkgs.fortune - pkgs.gcr # Gnome crypto stuff for gnome-keyring - pkgs.gimp - pkgs.git-crypt - pkgs.github-cli - pkgs.glab - pkgs.gmailctl - pkgs.gomatrix # The Matrix - pkgs.google-chrome - pkgs.gparted - pkgs.gptfdisk # gdisk - pkgs.gucharmap # Unicode Character Map - pkgs.hardinfo # Hardware/System Info - pkgs.hicolor-icon-theme # Needed for solaar - pkgs.hplip - pkgs.httpie - pkgs.i3lock-pixeled - pkgs.iftop - pkgs.iotop-c - pkgs.imagemagick - pkgs.inkscape - pkgs.iw # Wifi connection strength indicator - pkgs.jq - pkgs.jsonnet - pkgs.k9s - pkgs.kbdd # XKB Daemon - pkgs.kind - pkgs.plasma5Packages.kruler - pkgs.kubectl - pkgs.kubectx - pkgs.lame - pkgs.lazydocker - nixpkgs-unstable.ledger-live-desktop - pkgs.libnotify # Provides notify-send - pkgs.libreoffice - pkgs.lm_sensors - pkgs.localsend - pkgs.lsof - pkgs.lz4 # compression - pkgs.megacmd - pkgs.microsoft-edge # For teams 😭 - pkgs.mpv # video player - pkgs.gnome.nautilus - pkgs.ncdu # Disk Space Visualization - pkgs.nmap - pkgs.neofetch - pkgs.nethogs - pkgs.nix-prefetch # nix-prefetch fetchFromGitHub --owner --repo --rev - pkgs.nodejs # For coc.nvim - pkgs.obsidian - pkgs.okular - pkgs.onboard # On screen keyboard - pkgs.openssl - pkgs.p7zip - pkgs.papirus-icon-theme - pkgs.parted - pkgs.patchelf - pkgs.pavucontrol - pkgs.pciutils - pkgs.pdftk # PDF Manipulation Toolkit - pkgs.piper # GUI for configuring Logitech mice - pkgs.playerctl - pkgs.postgresql - pkgs.pstree - (pkgs.python3.withPackages - (ps: - with ps; [ - json5 # For Macgyver - ])) - pkgs.qalculate-gtk # Calculator - pkgs.q-text-as-data # https://github.com/harelba/q - pkgs.remmina - pkgs.ripdrag - pkgs.ripgrep - inputs.rmob.defaultPackage.x86_64-linux - nixpkgs-unstable.rmview # Remarkable Screen Sharing - pkgs.screenkey - pkgs.scrcpy - pkgs.selectdefaultapplication # XDG Default Application Chooser - nixpkgs-unstable.signal-desktop - nixpkgs-unstable.skaffold - pkgs.slack - pkgs.smartmontools - pkgs.solaar - pkgs.sparrow - pkgs.stern - pkgs.s-tui # processor monitor/stress test - pkgs.stress - nixpkgs-unstable.tdesktop # Telegram - pkgs.teams-for-linux # Unofficial Msft Teams App - pkgs.thefuck - pkgs.todoist-electron - pkgs.traceroute - pkgs.trash-cli - pkgs.tree - pkgs.trezor-suite - pkgs.trezor-udev-rules - pkgs.tzupdate - pkgs.unzip - pkgs.usbutils # Provides lsusb - pkgs.variety - pkgs.virt-manager - pkgs.vlc - pkgs.vnstat # Network Traffic Monitor - pkgs.wget - pkgs.wgetpaste # CLI interface to various pastebins - pkgs.wireguard-tools - pkgs.wireshark - pkgs.whois - pkgs.woeusb # Create bootable disks from Windows ISOs - pkgs.xclip - pkgs.xdg-desktop-portal - pkgs.xdragon # drag n drop support - pkgs.xidlehook - pkgs.xkb-switch-i3 - pkgs.xorg.xkill - pkgs.xournal # PFD Annotations, useful for saving Okular annotations as well - pkgs.xrandr-invert-colors - pkgs.xss-lock - nixpkgs-unstable.yt-dlp - pkgs.youtube-music - pkgs.yq - nixpkgs-unstable.zoom-us - ]; -in - packages +}: +(with pkgs; [ + arandr + asciinema + audio-recorder + unstable.autotiling # autotiling script for i3 + awscli2 + bc + bind # Provides dig + binutils + bitwarden + bitwarden-cli + bluez + bluez-tools + unstable.brave + brightnessctl + cachix + cargo-edit + cargo-nextest + chafa # Images to terminal pixels + cht-sh + cntr # for Nix sandbox breakpointHook debugging + dconf + ddcutil # For external monitor management, used by home/xsession/boar_ddc_fix.sh + delta # Syntax highlighter for git + unstable.devenv + difftastic + unstable.discord + distrobox + dnstracer + docker-compose + dunst + element-desktop + efivar + exercism + fd + feh + ffmpeg-full + file + fortune + gcr # Gnome crypto stuff for gnome-keyring + gimp + git-crypt + github-cli + glab + gmailctl + gomatrix # The Matrix + google-chrome + gparted + gptfdisk # gdisk + gucharmap # Unicode Character Map + hardinfo # Hardware/System Info + hicolor-icon-theme # Needed for solaar + hplip + httpie + i3lock-pixeled + iftop + iotop-c + imagemagick + inkscape + iw # Wifi connection strength indicator + jq + jsonnet + k9s + kbdd # XKB Daemon + kind + plasma5Packages.kruler + kubectl + kubectx + lame + lazydocker + unstable.ledger-live-desktop + libnotify # Provides notify-send + libreoffice + lm_sensors + localsend + lsof + lz4 # compression + megacmd + microsoft-edge # For teams 😭 + mpv # video player + gnome.nautilus + ncdu # Disk Space Visualization + nmap + neofetch + nethogs + nix-prefetch # nix-prefetch fetchFromGitHub --owner --repo --rev + nodejs # For coc.nvim + obsidian + okular + onboard # On screen keyboard + openssl + p7zip + papirus-icon-theme + parted + patchelf + pavucontrol + pciutils + pdftk # PDF Manipulation Toolkit + piper # GUI for configuring Logitech mice + playerctl + postgresql + pstree + (python3.withPackages + (ps: + with ps; [ + json5 # For Macgyver + ])) + qalculate-gtk # Calculator + q-text-as-data # https://github.com/harelba/q + remmina + ripdrag + ripgrep + unstable.rmview # Remarkable Screen Sharing + screenkey + scrcpy + selectdefaultapplication # XDG Default Application Chooser + unstable.signal-desktop + unstable.skaffold + slack + smartmontools + solaar + sparrow + stern + s-tui # processor monitor/stress test + stress + unstable.tdesktop # Telegram + teams-for-linux # Unofficial Msft Teams App + thefuck + todoist-electron + traceroute + trash-cli + tree + trezor-suite + trezor-udev-rules + tzupdate + unzip + usbutils # Provides lsusb + variety + virt-manager + vlc + vnstat # Network Traffic Monitor + wget + wgetpaste # CLI interface to various pastebins + wireguard-tools + wireshark + whois + woeusb # Create bootable disks from Windows ISOs + xclip + xdg-desktop-portal + xdragon # drag n drop support + xidlehook + xkb-switch-i3 + xorg.xkill + xournal # PFD Annotations, useful for saving Okular annotations as well + xrandr-invert-colors + xss-lock + unstable.yt-dlp + youtube-music + yq + unstable.zoom-us +]) +++ [ + inputs.rmob.defaultPackage.x86_64-linux +]