home: Add a few package sets

This commit is contained in:
NullBite 2024-02-16 17:18:37 +01:00
parent 97ba42af46
commit 80811ea5c8
Signed by: nullbite
GPG Key ID: 6C4D545385D4925A
6 changed files with 112 additions and 1 deletions

57
flake.lock generated
View File

@ -34,6 +34,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -174,7 +192,29 @@
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"pkg-android-tools": "pkg-android-tools", "pkg-android-tools": "pkg-android-tools",
"systems": "systems_2" "rust-overlay": "rust-overlay",
"systems": "systems_3"
}
},
"rust-overlay": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1708049456,
"narHash": "sha256-8qGWZTQPPBhcF5dsl1KSWF+H7RX8C3BZGvqYWKBtLjQ=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "4ee92bf124fbc4e157cbce1bc2a35499866989fc",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
} }
}, },
"systems": { "systems": {
@ -206,6 +246,21 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@ -33,6 +33,11 @@
url = "github:hyprwm/contrib"; url = "github:hyprwm/contrib";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = { self, nixpkgs, nixpkgs-unstable, ... }@inputs: outputs = { self, nixpkgs, nixpkgs-unstable, ... }@inputs:

View File

@ -20,5 +20,11 @@ in
readOnly = true; readOnly = true;
internal = true; internal = true;
}; };
graphical = lib.mkOption {
description = "Whether to enable graphical home-manager applications";
type = lib.types.bool;
default = (osConfig ? services && osConfig.services.xserver.enable);
example = true;
};
}; };
} }

View File

@ -0,0 +1,19 @@
{ pkgs, lib, config, osConfig ? {}, ... }:
let
cfg = config.nixfiles.packageSets.communication;
in
{
options.nixfiles.packageSets.communication = {
enable = lib.mkEnableOption "communication package set";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; lib.optionals config.nixfiles.graphical [
element-desktop-wayland
telegram-desktop
signal-desktop
thunderbird
] ++ [
irssi
];
};
}

View File

@ -1,5 +1,7 @@
{...}: {...}:
{ {
imports = [ imports = [
./communication.nix
./dev.nix
]; ];
} }

24
home/package-sets/dev.nix Normal file
View File

@ -0,0 +1,24 @@
{ pkgs, lib, config, osConfig ? {}, ... }:
let
cfg = config.nixfiles.packageSets.dev;
in
{
options.nixfiles.packageSets.dev = {
enable = lib.mkEnableOption "development package set";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
neovim
rg
fd
bat
# none of these need to be in my PATH since i can use nix shells but it's
# nice to have a repl and some generic tools globally available
rust-bin.stable.latest.default
python311Packages.ptpython
python311
lua
];
};
}