diff --git a/flake.lock b/flake.lock index d200bea0..111c1f37 100644 --- a/flake.lock +++ b/flake.lock @@ -802,6 +802,22 @@ "type": "github" } }, + "nixpkgs-master": { + "locked": { + "lastModified": 1761998647, + "narHash": "sha256-MFd2bpd3V/Nr2UhFE0uhF/21JNi5GrbCXqwCFCt4Mlg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "2a8c7895537748fb6d8f0a14c08a482ffe549441", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-patched": { "locked": { "lastModified": 1761672384, @@ -866,22 +882,6 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1758427187, - "narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "554be6495561ff07b6c724047bdd7e0716aa7b46", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1748189127, @@ -1083,9 +1083,9 @@ "nixpak": "nixpak", "nixpkgs": "nixpkgs_5", "nixpkgs-darwin": "nixpkgs-darwin", + "nixpkgs-master": "nixpkgs-master", "nixpkgs-patched": "nixpkgs-patched", "nixpkgs-stable": "nixpkgs-stable_3", - "nixpkgs-unstable": "nixpkgs-unstable", "nu_scripts": "nu_scripts", "nuenv": "nuenv", "nur-ryan4yin": "nur-ryan4yin", diff --git a/flake.nix b/flake.nix index d7390b0b..c9d7c639 100644 --- a/flake.nix +++ b/flake.nix @@ -35,11 +35,13 @@ # Official NixOS package source, using nixos's unstable branch by default nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - # nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable-small"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05"; + # nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + # nixpkgs with some custom patches nixpkgs-patched.url = "github:ryan4yin/nixpkgs/nixos-unstable-patched"; + # get some latest packages from the master branch + nixpkgs-master.url = "github:nixos/nixpkgs/master"; # for macos # nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-25.05-darwin"; diff --git a/hardening/nixpaks/default.nix b/hardening/nixpaks/default.nix index 633ce37a..ea346650 100644 --- a/hardening/nixpaks/default.nix +++ b/hardening/nixpaks/default.nix @@ -1,6 +1,6 @@ { pkgs, - pkgs-patched, + pkgs-master, nixpak, ... }: @@ -22,7 +22,7 @@ in nixpkgs.overlays = [ (_: super: { nixpaks = { - qq = wrapper pkgs-patched ./qq.nix; + qq = wrapper pkgs-master ./qq.nix; wechat = wrapper super ./wechat.nix; telegram-desktop = wrapper super ./telegram-desktop.nix; firefox = wrapper super ./firefox.nix; diff --git a/home/base/core/shells/default.nix b/home/base/core/shells/default.nix index 56a0e29d..950ced82 100644 --- a/home/base/core/shells/default.nix +++ b/home/base/core/shells/default.nix @@ -27,7 +27,6 @@ in # NOTE: nushell will be launched in bash, so it can inherit all the eenvironment variables. programs.nushell = { enable = true; - # package = pkgs-unstable.nushell; configFile.source = ./config.nu; inherit shellAliases; }; diff --git a/home/base/gui/terminal/alacritty/default.nix b/home/base/gui/terminal/alacritty/default.nix index 49932a96..8227cdba 100644 --- a/home/base/gui/terminal/alacritty/default.nix +++ b/home/base/gui/terminal/alacritty/default.nix @@ -1,6 +1,5 @@ { pkgs, - pkgs-unstable, ... }: ########################################################### @@ -26,7 +25,6 @@ { programs.alacritty = { enable = true; - # package = pkgs-unstable.alacritty; # https://alacritty.org/config-alacritty.html settings = { window = { diff --git a/home/base/tui/dev-tools.nix b/home/base/tui/dev-tools.nix index 37e09672..592c863a 100644 --- a/home/base/tui/dev-tools.nix +++ b/home/base/tui/dev-tools.nix @@ -1,6 +1,5 @@ { pkgs, - pkgs-unstable, ... }: { diff --git a/home/base/tui/editors/neovim/default.nix b/home/base/tui/editors/neovim/default.nix index 8d607537..5f292bdc 100644 --- a/home/base/tui/editors/neovim/default.nix +++ b/home/base/tui/editors/neovim/default.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - pkgs-unstable, ... }: ############################################################################### @@ -29,7 +28,7 @@ in programs.neovim = { enable = true; - package = pkgs-unstable.neovim-unwrapped; + package = pkgs.neovim-unwrapped; # defaultEditor = true; # set EDITOR at system-wide level viAlias = true; diff --git a/home/base/tui/editors/packages.nix b/home/base/tui/editors/packages.nix index f19c84ca..10517c30 100644 --- a/home/base/tui/editors/packages.nix +++ b/home/base/tui/editors/packages.nix @@ -1,6 +1,6 @@ { pkgs, - pkgs-unstable, + pkgs-master, ... }: { @@ -36,7 +36,7 @@ marksman # language server for markdown glow # markdown previewer pandoc # document converter - pkgs-unstable.hugo # static site generator + pkgs-master.hugo # static site generator #-- sql sqlfluff @@ -90,11 +90,11 @@ #-- rust # we'd better use the rust-overlays for rust development - pkgs-unstable.rustc - pkgs-unstable.rust-analyzer - pkgs-unstable.cargo # rust package manager - pkgs-unstable.rustfmt - pkgs-unstable.clippy # rust linter + pkgs-master.rustc + pkgs-master.rust-analyzer + pkgs-master.cargo # rust package manager + pkgs-master.rustfmt + pkgs-master.clippy # rust linter #-- golang go @@ -141,7 +141,7 @@ # fnlfmt # fennel # ( # if pkgs.stdenv.isLinux && pkgs.stdenv.isx86 - # then pkgs-unstable.akkuPackages.scheme-langserver + # then pkgs-master.akkuPackages.scheme-langserver # else pkgs.emptyDirectory # ) # ] diff --git a/home/base/tui/encryption/default.nix b/home/base/tui/encryption/default.nix index d31f34e6..ef332208 100644 --- a/home/base/tui/encryption/default.nix +++ b/home/base/tui/encryption/default.nix @@ -1,6 +1,5 @@ { pkgs, - pkgs-unstable, ... }: { diff --git a/home/linux/gui/base/creative.nix b/home/linux/gui/base/creative.nix index c0326c0d..2ccdb2b4 100644 --- a/home/linux/gui/base/creative.nix +++ b/home/linux/gui/base/creative.nix @@ -1,9 +1,6 @@ { lib, pkgs, - pkgs-unstable, - # pkgs-stable, - nur-ryan4yin, blender-bin, ... }: @@ -43,36 +40,32 @@ # live streaming obs-studio = { enable = pkgs.stdenv.isx86_64; - plugins = - with pkgs.obs-studio-plugins; - [ - # screen capture - wlrobs - # obs-ndi - # obs-nvfbc - obs-teleport - # obs-hyperion - droidcam-obs - obs-vkcapture - obs-gstreamer - input-overlay - obs-multi-rtmp - obs-source-clone - obs-shaderfilter - obs-source-record - obs-livesplit-one - looking-glass-obs - obs-vintage-filter - obs-command-source - obs-move-transition - obs-backgroundremoval - # advanced-scene-switcher - obs-pipewire-audio-capture - ] - ++ (lib.optionals pkgs.stdenv.isx86_64 [ - obs-vaapi - obs-3d-effect - ]); + plugins = with pkgs.obs-studio-plugins; [ + # screen capture + wlrobs + # obs-ndi + # obs-nvfbc + obs-teleport + # obs-hyperion + droidcam-obs + obs-vkcapture + obs-gstreamer + input-overlay + obs-multi-rtmp + obs-source-clone + obs-shaderfilter + obs-source-record + obs-livesplit-one + looking-glass-obs + obs-vintage-filter + obs-command-source + obs-move-transition + obs-backgroundremoval + # advanced-scene-switcher + obs-pipewire-audio-capture + obs-vaapi + obs-3d-effect + ]; }; }; } diff --git a/home/linux/gui/base/media.nix b/home/linux/gui/base/media.nix index 6862e619..7cea4795 100644 --- a/home/linux/gui/base/media.nix +++ b/home/linux/gui/base/media.nix @@ -1,29 +1,25 @@ { pkgs, pkgs-x64, - pkgs-unstable, - nur-ryan4yin, ... }: # media - control and enjoy audio/video { - home.packages = - with pkgs; - [ - # audio control - pavucontrol - playerctl - pulsemixer - imv # simple image viewer + home.packages = with pkgs; [ + # audio control + pavucontrol + playerctl + pulsemixer + imv # simple image viewer - # video/audio tools - libva-utils - vdpauinfo - vulkan-tools - glxinfo - nvitop - (pkgs-x64.zoom-us.override { hyprlandXdgDesktopPortalSupport = true; }) - ]; + # video/audio tools + libva-utils + vdpauinfo + vulkan-tools + glxinfo + nvitop + (pkgs-x64.zoom-us.override { hyprlandXdgDesktopPortalSupport = true; }) + ]; programs.mpv = { enable = true; diff --git a/home/linux/gui/base/misc.nix b/home/linux/gui/base/misc.nix index f0478d69..df6320b5 100644 --- a/home/linux/gui/base/misc.nix +++ b/home/linux/gui/base/misc.nix @@ -1,6 +1,5 @@ { pkgs, - pkgs-unstable, ... }: { @@ -15,10 +14,10 @@ freerdp # required by remmina # my custom hardened packages - pkgs.nixpaks.qq - pkgs.nixpaks.telegram-desktop + nixpaks.qq + nixpaks.telegram-desktop # qqmusic - pkgs.bwraps.wechat + bwraps.wechat # discord # update too frequently, use the web version instead ]; diff --git a/home/linux/gui/editors/default.nix b/home/linux/gui/editors/default.nix index b8f946b9..c9ca073c 100644 --- a/home/linux/gui/editors/default.nix +++ b/home/linux/gui/editors/default.nix @@ -1,6 +1,6 @@ -{ pkgs, ... }: +{ pkgs-master, ... }: { - home.packages = with pkgs; [ + home.packages = with pkgs-master; [ zed-editor (code-cursor.overrideAttrs (oldAttrs: rec { pname = "cursor"; diff --git a/hosts/12kingdoms-shoukei/apple-silicon.nix b/hosts/12kingdoms-shoukei/apple-silicon.nix index 49a14a12..3abea7e9 100644 --- a/hosts/12kingdoms-shoukei/apple-silicon.nix +++ b/hosts/12kingdoms-shoukei/apple-silicon.nix @@ -1,5 +1,5 @@ { - pkgs-unstable, + pkgs, nixos-apple-silicon, my-asahi-firmware, ... @@ -18,7 +18,7 @@ ]; }; - environment.systemPackages = with pkgs-unstable; [ + environment.systemPackages = with pkgs; [ box64 # Linux Userspace x86 and x86_64 Emulator, run x86_64 apps(such as games, gui apps) on aarch64. # https://asahilinux.org/2024/12/muvm-x11-bridging/ # https://github.com/nix-community/nixos-apple-silicon/issues/237 @@ -66,7 +66,7 @@ # After adding this snippet, you need to restart the system for the touchbar to work. hardware.apple.touchBar = { enable = true; - package = pkgs-unstable.tiny-dfr; + package = pkgs.tiny-dfr; # https://github.com/WhatAmISupposedToPutHere/tiny-dfr/blob/master/share/tiny-dfr/config.toml settings = { # F{number} keys are shown when Fn is not pressed by default. diff --git a/modules/darwin/apps.nix b/modules/darwin/apps.nix index 9e28441c..fd573b70 100644 --- a/modules/darwin/apps.nix +++ b/modules/darwin/apps.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - pkgs-unstable, ... }: ########################################################################## @@ -95,7 +94,7 @@ in programs.zsh.enable = true; environment.shells = [ pkgs.zsh - pkgs-unstable.nushell # my custom shell + pkgs.nushell # my custom shell ]; # homebrew need to be installed manually, see https://brew.sh diff --git a/modules/nixos/desktop/misc.nix b/modules/nixos/desktop/misc.nix index 3c6d75dc..4c07c57e 100644 --- a/modules/nixos/desktop/misc.nix +++ b/modules/nixos/desktop/misc.nix @@ -1,8 +1,6 @@ { - config, lib, pkgs, - pkgs-unstable, ... }: { diff --git a/modules/nixos/desktop/peripherals.nix b/modules/nixos/desktop/peripherals.nix index f3c3bd42..58c997ba 100644 --- a/modules/nixos/desktop/peripherals.nix +++ b/modules/nixos/desktop/peripherals.nix @@ -15,7 +15,6 @@ # https://nixos.wiki/wiki/PipeWire services.pipewire = { enable = true; - # package = pkgs-unstable.pipewire; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; diff --git a/outputs/default.nix b/outputs/default.nix index 9afea3b5..7f8695a6 100644 --- a/outputs/default.nix +++ b/outputs/default.nix @@ -18,11 +18,12 @@ let inherit mylib myvars; # use unstable branch for some packages to get the latest updates - pkgs-unstable = import inputs.nixpkgs-unstable { - inherit system; # refer the `system` parameter form outer scope recursively - # To use chrome, we need to allow the installation of non-free software - config.allowUnfree = true; - }; + # pkgs-unstable = import inputs.nixpkgs-unstable { + # inherit system; # refer the `system` parameter form outer scope recursively + # # To use chrome, we need to allow the installation of non-free software + # config.allowUnfree = true; + # }; + pkgs-stable = import inputs.nixpkgs-stable { inherit system; # To use chrome, we need to allow the installation of non-free software @@ -30,7 +31,12 @@ let }; pkgs-patched = import inputs.nixpkgs-patched { inherit system; - # To use chrome, we need to allow the installation of non-free software + # to use chrome, we need to allow the installation of non-free software + config.allowUnfree = true; + }; + pkgs-master = import inputs.nixpkgs-master { + inherit system; + # to use chrome, we need to allow the installation of non-free software config.allowUnfree = true; };