mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-07 12:19:07 +00:00
home-manager/foo-dogsquared: get config into home
Now that I have time, I've learnt that Git submodules are not supported well with flake-based setup. Instead, I'll use my dotfiles repo as one of the inputs as a non-flake which is exactly what I want. NICE!
This commit is contained in:
parent
6695c4f02f
commit
024102c45c
17
flake.lock
generated
17
flake.lock
generated
@ -55,6 +55,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dotfiles": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1656980299,
|
||||
"narHash": "sha256-utciO8yuzIeUB0R8thZ8xx1wEtIvmL7iYlriK8nq2Rc=",
|
||||
"owner": "foo-dogsquared",
|
||||
"repo": "dotfiles",
|
||||
"rev": "2312e925f2ee558658fd888332245e8b8e79c8b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "foo-dogsquared",
|
||||
"repo": "dotfiles",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"emacs-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
@ -466,6 +482,7 @@
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"devshell": "devshell",
|
||||
"dotfiles": "dotfiles",
|
||||
"emacs-overlay": "emacs-overlay",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"guix-overlay": "guix-overlay",
|
||||
|
@ -16,6 +16,10 @@
|
||||
# We're using this library for other functions, mainly testing.
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
|
||||
# My personal dotfiles.
|
||||
dotfiles.url = "github:foo-dogsquared/dotfiles";
|
||||
dotfiles.flake = false;
|
||||
|
||||
# Managing home configurations.
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -69,6 +69,7 @@ in {
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.sharedModules = lib.modulesToList homeManagerModules;
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
|
||||
# Mapping each users to the respective user configuration.
|
||||
# Setting users for home-manager.
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, options, lib, pkgs, ... }:
|
||||
{ inputs, config, options, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
yt-dlp-for-audio-config = pkgs.writeText "yt-dlp-for-audio-config" ''
|
||||
@ -20,6 +20,10 @@ let
|
||||
yt-dlp-for-audio = pkgs.writeScriptBin "yt-dlp-audio" ''
|
||||
${pkgs.yt-dlp}/bin/yt-dlp --config-location "${yt-dlp-for-audio-config}" $@
|
||||
'';
|
||||
getDotfiles = path: {
|
||||
source = "${inputs.dotfiles}/${path}";
|
||||
recursive = true;
|
||||
};
|
||||
in {
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
@ -217,4 +221,14 @@ in {
|
||||
templates = "$HOME/library/templates";
|
||||
videos = "$HOME/library/videos";
|
||||
};
|
||||
|
||||
# All of the personal configurations.
|
||||
xdg.configFile = {
|
||||
"doom" = getDotfiles "emacs";
|
||||
"kitty" = getDotfiles "kitty";
|
||||
"lazygit" = getDotfiles "lazygit";
|
||||
"lf" = getDotfiles "lf";
|
||||
"nvim" = getDotfiles "nvim";
|
||||
"wezterm" = getDotfiles "wezterm";
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user