1

Compare commits

...

3 Commits

8 changed files with 139 additions and 47 deletions

90
flake.lock generated
View File

@ -1,5 +1,50 @@
{ {
"nodes": { "nodes": {
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1750173260,
"narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=",
"owner": "ryantm",
"repo": "agenix",
"rev": "531beac616433bac6f9e2a19feb8e99a22a66baf",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1744478979,
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"devshell": { "devshell": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
@ -128,7 +173,7 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1726560853, "lastModified": 1726560853,
@ -146,7 +191,7 @@
}, },
"flake-utils_2": { "flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@ -215,6 +260,27 @@
} }
}, },
"home-manager": { "home-manager": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1745494811,
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@ -414,7 +480,7 @@
"nixpkgs" "nixpkgs"
], ],
"nuschtosSearch": "nuschtosSearch", "nuschtosSearch": "nuschtosSearch",
"systems": "systems_3" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1751492444, "lastModified": 1751492444,
@ -526,9 +592,10 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix",
"devshell": "devshell", "devshell": "devshell",
"hardware": "hardware", "hardware": "hardware",
"home-manager": "home-manager", "home-manager": "home-manager_2",
"nix-alien": "nix-alien", "nix-alien": "nix-alien",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nix-topology": "nix-topology", "nix-topology": "nix-topology",
@ -582,6 +649,21 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_4": {
"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

@ -16,6 +16,10 @@
home-manager.url = "github:nix-community/home-manager"; home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
# Agenix
agenix.url = "github:ryantm/agenix";
agenix.inputs.nixpkgs.follows = "nixpkgs";
# Nix User Repository (e.g. Firefox addons) # Nix User Repository (e.g. Firefox addons)
nur.url = "github:nix-community/NUR"; nur.url = "github:nix-community/NUR";
nur.inputs.nixpkgs.follows = "nixpkgs"; nur.inputs.nixpkgs.follows = "nixpkgs";
@ -134,7 +138,7 @@
# NOTE: Keep public keys here so they're easy to rotate # NOTE: Keep public keys here so they're easy to rotate
publicKeys = { publicKeys.christoph = {
ssh = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAoJac+GdGtzblCMA0lBfMdSR6aQ4YyovrNglCFGIny christoph.urlacher@protonmail.com"; ssh = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAoJac+GdGtzblCMA0lBfMdSR6aQ4YyovrNglCFGIny christoph.urlacher@protonmail.com";
}; };
in { in {
@ -172,9 +176,13 @@
hostname = "nixinator"; hostname = "nixinator";
username = "christoph"; username = "christoph";
headless = false; headless = false;
# Extra NixOS system modules.
# HM modules are passed through home/modules/default.nix
extraModules = [ extraModules = [
# TODO: # TODO:
# inputs.nix-topology.nixosModules.default # inputs.nix-topology.nixosModules.default
inputs.agenix.nixosModules.default
]; ];
}; };
nixtop = mylib.nixos.mkNixosConfigWithHomeManagerModule { nixtop = mylib.nixos.mkNixosConfigWithHomeManagerModule {
@ -185,6 +193,7 @@
extraModules = [ extraModules = [
# TODO: # TODO:
# inputs.nix-topology.nixosModules.default # inputs.nix-topology.nixosModules.default
inputs.agenix.nixosModules.default
]; ];
}; };
servenix = mylib.nixos.mkNixosConfigWithHomeManagerModule { servenix = mylib.nixos.mkNixosConfigWithHomeManagerModule {
@ -195,6 +204,7 @@
extraModules = [ extraModules = [
# TODO: # TODO:
# inputs.nix-topology.nixosModules.default # inputs.nix-topology.nixosModules.default
inputs.agenix.nixosModules.default
]; ];
}; };
thinknix = mylib.nixos.mkNixosConfigWithHomeManagerModule { thinknix = mylib.nixos.mkNixosConfigWithHomeManagerModule {
@ -205,6 +215,7 @@
extraModules = [ extraModules = [
# TODO: # TODO:
# inputs.nix-topology.nixosModules.default # inputs.nix-topology.nixosModules.default
inputs.agenix.nixosModules.default
]; ];
}; };

View File

@ -18,46 +18,45 @@ in {
mkColorAssignment = defs: key: {${key} = defs.${key};}; mkColorAssignment = defs: key: {${key} = defs.${key};};
mkRgbColorAssignment = defs: key: {${key} = mylib.color.hexToRGB defs.${key};}; mkRgbColorAssignment = defs: key: {${key} = mylib.color.hexToRGB defs.${key};};
mkRgbStringColorAssignment = defs: key: {${key} = mylib.color.hexToRGBString "," defs.${key};}; mkRgbStringColorAssignment = defs: key: {${key} = mylib.color.hexToRGBString "," defs.${key};};
in in {
lib.mkIf color.enable { # This module sets its own options
# This module sets its own options # to the values specified in a colorscheme file.
# to the values specified in a colorscheme file. modules.color = {
modules.color = { hex = {
hex = { light = lib.pipe colorKeys [
light = lib.pipe colorKeys [ (builtins.map (mkColorAssignment lightDefs))
(builtins.map (mkColorAssignment lightDefs)) lib.mergeAttrsList
lib.mergeAttrsList ];
];
dark = lib.pipe colorKeys [ dark = lib.pipe colorKeys [
(builtins.map (mkColorAssignment darkDefs)) (builtins.map (mkColorAssignment darkDefs))
lib.mergeAttrsList lib.mergeAttrsList
]; ];
}; };
rgb = { rgb = {
light = lib.pipe colorKeys [ light = lib.pipe colorKeys [
(builtins.map (mkRgbColorAssignment lightDefs)) (builtins.map (mkRgbColorAssignment lightDefs))
lib.mergeAttrsList lib.mergeAttrsList
]; ];
dark = lib.pipe colorKeys [ dark = lib.pipe colorKeys [
(builtins.map (mkRgbColorAssignment darkDefs)) (builtins.map (mkRgbColorAssignment darkDefs))
lib.mergeAttrsList lib.mergeAttrsList
]; ];
}; };
rgbString = { rgbString = {
light = lib.pipe colorKeys [ light = lib.pipe colorKeys [
(builtins.map (mkRgbStringColorAssignment lightDefs)) (builtins.map (mkRgbStringColorAssignment lightDefs))
lib.mergeAttrsList lib.mergeAttrsList
]; ];
dark = lib.pipe colorKeys [ dark = lib.pipe colorKeys [
(builtins.map (mkRgbStringColorAssignment darkDefs)) (builtins.map (mkRgbStringColorAssignment darkDefs))
lib.mergeAttrsList lib.mergeAttrsList
]; ];
};
}; };
}; };
};
} }

View File

@ -5,8 +5,6 @@
}: }:
with lib; with lib;
with mylib.modules; { with mylib.modules; {
enable = mkEnableOption "Enable color schemes";
lightScheme = mkOption { lightScheme = mkOption {
type = types.str; type = types.str;
description = "The color scheme to use for light colors"; description = "The color scheme to use for light colors";

View File

@ -11,5 +11,5 @@ in {
# The paths module doesn't use the "modules" namespace to keep the access shorter # The paths module doesn't use the "modules" namespace to keep the access shorter
options.paths = import ./options.nix {inherit lib mylib;}; options.paths = import ./options.nix {inherit lib mylib;};
config = lib.mkIf paths.enable {}; config = {};
} }

View File

@ -5,8 +5,6 @@
}: }:
with lib; with lib;
with mylib.modules; { with mylib.modules; {
enable = mkEnableOption "paths";
nixflake = lib.mkOption { nixflake = lib.mkOption {
type = lib.types.path; type = lib.types.path;
apply = toString; apply = toString;

View File

@ -30,6 +30,7 @@ in {
in { in {
# TODO: notify-send song title or sth. # TODO: notify-send song title or sth.
# TODO: status bar colors (the thing that pops up in the progress/seeking bar sometimes) # TODO: status bar colors (the thing that pops up in the progress/seeking bar sometimes)
# TODO: allow adding items to playlists not only from the queue view
".config/rmpc/config.ron".text = '' ".config/rmpc/config.ron".text = ''
#![enable(implicit_some)] #![enable(implicit_some)]
#![enable(unwrap_newtypes)] #![enable(unwrap_newtypes)]
@ -212,13 +213,13 @@ in {
"6": SwitchToTab("Search (6)"), "6": SwitchToTab("Search (6)"),
// "8": SwitchToTab("Visualizer (8)"), // "8": SwitchToTab("Visualizer (8)"),
"f": SeekForward, "?": ShowHelp,
"z": ToggleRepeat, "z": ToggleRepeat,
"x": ToggleRandom, "x": ToggleRandom,
"c": ToggleConsumeOnOff, // Skip OneShot mode "c": ToggleConsumeOnOff, // Skip OneShot mode
"v": ToggleSingleOnOff, // Skip OneShot mode "v": ToggleSingleOnOff, // Skip OneShot mode
"f": SeekForward,
"b": SeekBack, "b": SeekBack,
"~": ShowHelp,
"u": Update, "u": Update,
"U": Rescan, "U": Rescan,
"I": ShowCurrentSongInfo, "I": ShowCurrentSongInfo,

View File

@ -248,6 +248,9 @@ with mylib.networking; {
libimobiledevice libimobiledevice
ifuse ifuse
usbmuxd usbmuxd
# Secrets handling
inputs.agenix.packages.${system}.default
]; ];
# It is preferred to use the module (if it exists) over environment.systemPackages, # It is preferred to use the module (if it exists) over environment.systemPackages,