Compare commits

...

4 Commits

Author SHA1 Message Date
8a1ec3911e
change all systems to 23.11 pending nixpkgs#300028 2024-03-29 23:41:20 +00:00
daf5f1be08
fixes for nixos stable 2024-03-29 23:40:24 +00:00
8bfb043fed
fix unfree kernel modules 2024-03-29 23:18:28 +00:00
4ce363374e
kernel mitigation 2024-03-29 22:02:47 +00:00
9 changed files with 51 additions and 18 deletions

View File

@ -2,6 +2,7 @@ nixfiles: final: prev:
let let
inherit (prev) callPackage fetchFromGitHub; inherit (prev) callPackage fetchFromGitHub;
inherit (prev.lib) recurseIntoAttrs optionalAttrs; inherit (prev.lib) recurseIntoAttrs optionalAttrs;
isNewer = ref: ver: (builtins.compareVersions ver ref) == 1;
# if you can't do version based just make it time based and deal with it in a # if you can't do version based just make it time based and deal with it in a
# month if it's not fixed # month if it's not fixed
@ -15,4 +16,10 @@ let
hash="sha256-oat4TwOorFevUMZdBFgaQHx/UKqGW7CGMoOHVgQxVdM="; hash="sha256-oat4TwOorFevUMZdBFgaQHx/UKqGW7CGMoOHVgQxVdM=";
}; };
in recurseIntoAttrs (callPackage "${src}/pkgs/applications/graphics/gimp/plugins" {}); in recurseIntoAttrs (callPackage "${src}/pkgs/applications/graphics/gimp/plugins" {});
in (optionalAttrs gap-hold { gimpPlugins = gimpPlugins-gap; }) in (optionalAttrs gap-hold { gimpPlugins = gimpPlugins-gap; }) //
# can't optionalAttrs for version checks because it breaks lazy eval and causes infinite recursion
{
obsidian = let
pkg = final.callPackage "${nixfiles.inputs.nixpkgs-unstable}/pkgs/applications/misc/obsidian" { electron = final.electron_28; };
in if isNewer "1.4.16" prev.obsidian.version then prev.obsidian else pkg;
}

17
flake.lock generated
View File

@ -417,6 +417,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-staging-next": {
"locked": {
"lastModified": 1711735267,
"narHash": "sha256-Zj44dQ38cqN3NddIE/eA8t36eAKv0SVoMZPK8FF1pQ0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1149e1edb772e5f8e87d1a9be91bc34795fdafe8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "staging-next",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1711593151, "lastModified": 1711593151,
@ -477,6 +493,7 @@
"nix-wsl": "nix-wsl", "nix-wsl": "nix-wsl",
"nixfiles-assets": "nixfiles-assets", "nixfiles-assets": "nixfiles-assets",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-staging-next": "nixpkgs-staging-next",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"pkg-android-tools": "pkg-android-tools", "pkg-android-tools": "pkg-android-tools",
"rust-overlay": "rust-overlay", "rust-overlay": "rust-overlay",

View File

@ -6,6 +6,8 @@
# ^^^^^^^^^^^^^ this part is optional # ^^^^^^^^^^^^^ this part is optional
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixpkgs-staging-next.url = "github:NixOS/nixpkgs/staging-next";
# this seems to be a popular way to declare systems # this seems to be a popular way to declare systems
systems.url = "github:nix-systems/default"; systems.url = "github:nix-systems/default";
@ -286,24 +288,18 @@
nixosConfigurations = { nixosConfigurations = {
slab = mkSystem { slab = mkSystem {
nixpkgs = inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
system = "x86_64-linux"; system = "x86_64-linux";
hostname = "slab"; hostname = "slab";
stateVersion = "23.11"; stateVersion = "23.11";
}; };
nullbox = mkSystem { nullbox = mkSystem {
nixpkgs = inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
system = "x86_64-linux"; system = "x86_64-linux";
hostname = "nullbox"; hostname = "nullbox";
stateVersion = "23.11"; stateVersion = "23.11";
}; };
nixos-wsl = mkWSLSystem { nixos-wsl = mkWSLSystem {
nixpkgs = inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
system = "x86_64-linux"; system = "x86_64-linux";
stateVersion = "23.11"; stateVersion = "23.11";
hostname = "nixos-wsl"; hostname = "nixos-wsl";
@ -314,16 +310,12 @@
"nullbite@rpi4" = mkHome { "nullbite@rpi4" = mkHome {
system = "aarch64-linux"; system = "aarch64-linux";
stateVersion = "23.11"; stateVersion = "23.11";
nixpkgs = inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
}; };
"testuser" = mkHome { "testuser" = mkHome {
username = "testuser"; username = "testuser";
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ ./users/testuser/home.nix ]; modules = [ ./users/testuser/home.nix ];
stateVersion = "23.11"; stateVersion = "23.11";
nixpkgs = inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
}; };
"nix-on-droid" = mkHome { "nix-on-droid" = mkHome {
username = "nix-on-droid"; username = "nix-on-droid";
@ -331,8 +323,6 @@
modules = [ ./users/nix-on-droid/home.nix ]; modules = [ ./users/nix-on-droid/home.nix ];
system = "aarch64-linux"; system = "aarch64-linux";
stateVersion = "23.11"; stateVersion = "23.11";
nixpkgs = inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
}; };
}; };
}; # end outputs }; # end outputs

View File

@ -12,7 +12,7 @@
networking.networkmanager.enable = false; networking.networkmanager.enable = false;
programs.gnupg.agent = { programs.gnupg.agent = {
enable = true; enable = true;
pinentryPackage = pkgs.pinentry-qt; pinentryFlavor = "qt";
}; };
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [

View File

@ -59,7 +59,6 @@
common.remoteAccess.enable = true; common.remoteAccess.enable = true;
sessions.plasma.enable = lib.mkDefault false; sessions.plasma.enable = lib.mkDefault false;
sessions.hyprland.enable = lib.mkDefault true; sessions.hyprland.enable = lib.mkDefault true;
sessions.hyprland.useFlake = true;
hardware.nvidia.modesetting.enable = true; hardware.nvidia.modesetting.enable = true;
packageSets.gaming.enable = true; packageSets.gaming.enable = true;
}; };

View File

@ -54,7 +54,6 @@
fun.enable = true; fun.enable = true;
}; };
sessions.hyprland.enable = lib.mkDefault true; sessions.hyprland.enable = lib.mkDefault true;
sessions.hyprland.useFlake = true;
sessions.plasma.enable = lib.mkDefault false; sessions.plasma.enable = lib.mkDefault false;
programs = { programs = {
adb.enable = true; adb.enable = true;

View File

@ -2,8 +2,22 @@
let let
p5 = config.services.xserver.desktopManager.plasma5.enable; p5 = config.services.xserver.desktopManager.plasma5.enable;
p6 = config.services.desktopManager.plasma6.enable; p6 = config.services.desktopManager.plasma6.enable;
isNewer = ref: ver: ((builtins.compareVersions ver ref) == 1);
# kernel update
newKernelPackages = let
pkgs-new = import inputs.nixpkgs-staging-next { inherit (pkgs) system; config.allowUnfree = true; };
in pkgs-new.linuxPackages_latest;
in in
{ {
config = lib.mkMerge [ config = lib.mkMerge [
{
boot.kernelPackages = newKernelPackages;
assertions = [
{ assertion = (!(isNewer "6.8" nixpkgs.legacyPackages.${pkgs.system}.linuxPackages.kernel.version));
message = "Kernel is no longer outdated. Please remove this."; }
];
}
]; ];
} }

View File

@ -8,7 +8,7 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
networking.networkmanager.dns = "none"; networking.networkmanager.dns = lib.mkDefault "none";
services.unbound = { services.unbound = {
enable = true; enable = true;
settings = { settings = {

View File

@ -12,7 +12,14 @@ in
options.nixfiles.sessions.hyprland = { options.nixfiles.sessions.hyprland = {
enable = lib.mkEnableOption "hyprland configuration"; enable = lib.mkEnableOption "hyprland configuration";
useFlake = lib.mkEnableOption "hyprland flake package"; useFlake = lib.mkOption {
description = "Whether to use the Hyprland flake package";
type = lib.types.bool;
# enable if not on nixpkgs stable
defaultText = "config.nixfiles.nixpkgs != inputs.nixpkgs";
default = config.nixfiles.nixpkgs != inputs.nixpkgs;
example = true;
};
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {