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": {
"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": {
"inputs": {
"nixpkgs": "nixpkgs"
@ -128,7 +173,7 @@
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1726560853,
@ -146,7 +191,7 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
@ -215,6 +260,27 @@
}
},
"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": {
"nixpkgs": [
"nixpkgs"
@ -414,7 +480,7 @@
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch",
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1751492444,
@ -526,9 +592,10 @@
},
"root": {
"inputs": {
"agenix": "agenix",
"devshell": "devshell",
"hardware": "hardware",
"home-manager": "home-manager",
"home-manager": "home-manager_2",
"nix-alien": "nix-alien",
"nix-flatpak": "nix-flatpak",
"nix-topology": "nix-topology",
@ -582,6 +649,21 @@
"repo": "default",
"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",

View File

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

View File

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

View File

@ -5,8 +5,6 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOption "Enable color schemes";
lightScheme = mkOption {
type = types.str;
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
options.paths = import ./options.nix {inherit lib mylib;};
config = lib.mkIf paths.enable {};
config = {};
}

View File

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

View File

@ -30,6 +30,7 @@ in {
in {
# TODO: notify-send song title or sth.
# 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 = ''
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
@ -212,13 +213,13 @@ in {
"6": SwitchToTab("Search (6)"),
// "8": SwitchToTab("Visualizer (8)"),
"f": SeekForward,
"?": ShowHelp,
"z": ToggleRepeat,
"x": ToggleRandom,
"c": ToggleConsumeOnOff, // Skip OneShot mode
"v": ToggleSingleOnOff, // Skip OneShot mode
"f": SeekForward,
"b": SeekBack,
"~": ShowHelp,
"u": Update,
"U": Rescan,
"I": ShowCurrentSongInfo,

View File

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