feat(homes/rafiq): port over configs
This commit is contained in:
parent
aa06b5f6fd
commit
4c82720251
15 changed files with 440 additions and 2 deletions
91
flake.lock
generated
91
flake.lock
generated
|
@ -15,6 +15,26 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dedupe_flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": [
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"dedupe_gitignore": {
|
"dedupe_gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -35,6 +55,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dedupe_mnw": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748710831,
|
||||||
|
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
|
||||||
|
"owner": "gerg-l",
|
||||||
|
"repo": "mnw",
|
||||||
|
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "gerg-l",
|
||||||
|
"repo": "mnw",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"disko": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -186,6 +221,26 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-index-database": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751774635,
|
||||||
|
"narHash": "sha256-DuOznGdgMxeSlPpUu6Wkq0ZD5e2Cfv9XRZeZlHWMd1s=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"rev": "85686025ba6d18df31cc651a91d5adef63378978",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751637120,
|
"lastModified": 1751637120,
|
||||||
|
@ -202,10 +257,44 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nvf": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": [
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
|
"flake-utils": [
|
||||||
|
"dedupe_flake-utils"
|
||||||
|
],
|
||||||
|
"mnw": [
|
||||||
|
"dedupe_mnw"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751887073,
|
||||||
|
"narHash": "sha256-M92RDGGx330MPqK2v7IRn98938Y2b1tkfe0ujD5GK70=",
|
||||||
|
"owner": "notashelf",
|
||||||
|
"repo": "nvf",
|
||||||
|
"rev": "d70c3a834061b9f24cfcc350ce2325c3bbede774",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "notashelf",
|
||||||
|
"repo": "nvf",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"dedupe_flake-compat": "dedupe_flake-compat",
|
"dedupe_flake-compat": "dedupe_flake-compat",
|
||||||
|
"dedupe_flake-utils": "dedupe_flake-utils",
|
||||||
"dedupe_gitignore": "dedupe_gitignore",
|
"dedupe_gitignore": "dedupe_gitignore",
|
||||||
|
"dedupe_mnw": "dedupe_mnw",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"files": "files",
|
"files": "files",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
|
@ -214,7 +303,9 @@
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"import-tree": "import-tree",
|
"import-tree": "import-tree",
|
||||||
"make-shell": "make-shell",
|
"make-shell": "make-shell",
|
||||||
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nvf": "nvf",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"text": "text"
|
"text": "text"
|
||||||
|
|
29
flake.nix
29
flake.nix
|
@ -21,6 +21,9 @@
|
||||||
};
|
};
|
||||||
# impermanence provides a nice abstraction over linking files from /persist
|
# impermanence provides a nice abstraction over linking files from /persist
|
||||||
impermanence.url = "github:nix-community/impermanence";
|
impermanence.url = "github:nix-community/impermanence";
|
||||||
|
|
||||||
|
### FLAKE PARTS MODULES ###
|
||||||
|
|
||||||
# sops-nix lets us version control secrets like passwords and api keys
|
# sops-nix lets us version control secrets like passwords and api keys
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
|
@ -47,8 +50,32 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# The following are not used but are here for deduplication.
|
### PROGRAMS ###
|
||||||
|
# nix-index-database indexes the nixpkgs binaries for use with comma
|
||||||
|
nix-index-database = {
|
||||||
|
url = "github:nix-community/nix-index-database";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
# nvf provides modules to wrap neovim
|
||||||
|
nvf = {
|
||||||
|
url = "github:notashelf/nvf";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
flake-parts.follows = "flake-parts";
|
||||||
|
systems.follows = "systems";
|
||||||
|
flake-utils.follows = "dedupe_flake-utils";
|
||||||
|
mnw.follows = "dedupe_mnw";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
### DEDUPE ###
|
||||||
|
# The following are not used in the flake
|
||||||
dedupe_flake-compat.url = "github:edolstra/flake-compat";
|
dedupe_flake-compat.url = "github:edolstra/flake-compat";
|
||||||
|
dedupe_flake-utils = {
|
||||||
|
url = "github:numtide/flake-utils";
|
||||||
|
inputs.systems.follows = "systems";
|
||||||
|
};
|
||||||
|
dedupe_mnw.url = "github:gerg-l/mnw";
|
||||||
dedupe_gitignore = {
|
dedupe_gitignore = {
|
||||||
url = "github:hercules-ci/gitignore.nix";
|
url = "github:hercules-ci/gitignore.nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
25
nix/homes/rafiq/_nvf/autocomplete.nix
Normal file
25
nix/homes/rafiq/_nvf/autocomplete.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ lib }:
|
||||||
|
{
|
||||||
|
blink-cmp = {
|
||||||
|
enable = true;
|
||||||
|
friendly-snippets.enable = true;
|
||||||
|
sourcePlugins.ripgrep.enable = true;
|
||||||
|
setupOpts = {
|
||||||
|
# Disable completion in markdown files
|
||||||
|
# TODO: Disable completion when in comments
|
||||||
|
enabled =
|
||||||
|
lib.generators.mkLuaInline
|
||||||
|
# lua
|
||||||
|
''
|
||||||
|
function()
|
||||||
|
return not vim.tbl_contains({"markdown"}, vim.bo.filetype)
|
||||||
|
and vim.bo.buftype ~= "prompt"
|
||||||
|
and vim.b.completion ~= false
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
completion.documentation.auto_show_delay_ms = 0;
|
||||||
|
# Show e.g. function parameters
|
||||||
|
signature.enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
3
nix/homes/rafiq/_nvf/binds.nix
Normal file
3
nix/homes/rafiq/_nvf/binds.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
whichKey.enable = true;
|
||||||
|
}
|
34
nix/homes/rafiq/_nvf/languages.nix
Normal file
34
nix/homes/rafiq/_nvf/languages.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{
|
||||||
|
enableExtraDiagnostics = true;
|
||||||
|
enableFormat = true;
|
||||||
|
enableTreesitter = true;
|
||||||
|
bash.enable = true;
|
||||||
|
clang.enable = true;
|
||||||
|
csharp.enable = true;
|
||||||
|
css.enable = true;
|
||||||
|
go.enable = true;
|
||||||
|
html.enable = true;
|
||||||
|
lua.enable = true;
|
||||||
|
markdown = {
|
||||||
|
enable = true;
|
||||||
|
extensions.markview-nvim.enable = true;
|
||||||
|
format.type = "prettierd";
|
||||||
|
};
|
||||||
|
nix = {
|
||||||
|
enable = true;
|
||||||
|
format.type = "nixfmt";
|
||||||
|
lsp.server = "nil";
|
||||||
|
};
|
||||||
|
python = {
|
||||||
|
enable = true;
|
||||||
|
format.type = "ruff";
|
||||||
|
lsp.server = "pyright";
|
||||||
|
};
|
||||||
|
rust.enable = true;
|
||||||
|
rust.crates.enable = true;
|
||||||
|
ts.enable = true;
|
||||||
|
ts.extensions.ts-error-translator.enable = true;
|
||||||
|
typst.enable = true;
|
||||||
|
typst.extensions.typst-preview-nvim.enable = true;
|
||||||
|
yaml.enable = true;
|
||||||
|
}
|
17
nix/homes/rafiq/_nvf/lsp.nix
Normal file
17
nix/homes/rafiq/_nvf/lsp.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
# Show virtual text hints
|
||||||
|
inlayHints.enable = true;
|
||||||
|
lightbulb.enable = true;
|
||||||
|
# Show icons for lsp actions
|
||||||
|
lspkind.enable = true;
|
||||||
|
null-ls.enable = true;
|
||||||
|
otter-nvim = {
|
||||||
|
enable = true;
|
||||||
|
setupOpts = {
|
||||||
|
buffers.set_filetype = true;
|
||||||
|
buffers.write_to_disk = true;
|
||||||
|
handle_leading_whitespace = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
9
nix/homes/rafiq/_nvf/navigation.nix
Normal file
9
nix/homes/rafiq/_nvf/navigation.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
harpoon = {
|
||||||
|
enable = true;
|
||||||
|
mappings.listMarks = "<leader>ml";
|
||||||
|
mappings.markFile = "<leader>mm";
|
||||||
|
setupOpts.defaults.save_on_toggle = true;
|
||||||
|
setupOpts.defaults.sync_on_ui_close = true;
|
||||||
|
};
|
||||||
|
}
|
28
nix/homes/rafiq/_nvf/snippets.nix
Normal file
28
nix/homes/rafiq/_nvf/snippets.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ pkgs }:
|
||||||
|
{
|
||||||
|
luasnip = {
|
||||||
|
enable = true;
|
||||||
|
setupOpts.enable_autosnippets = true;
|
||||||
|
providers = with pkgs.vimPlugins; [ vim-snippets ];
|
||||||
|
loaders = "require('luasnip.loaders.from_vscode').lazy_load()";
|
||||||
|
customSnippets.snipmate = {
|
||||||
|
nix = [
|
||||||
|
{
|
||||||
|
trigger = "mod";
|
||||||
|
description = "empty module";
|
||||||
|
body = # nix
|
||||||
|
''
|
||||||
|
{config, lib, ...}:
|
||||||
|
let
|
||||||
|
cfg = config.$1;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.$1 = { $2 };
|
||||||
|
config = $3;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
10
nix/homes/rafiq/_nvf/statusline.nix
Normal file
10
nix/homes/rafiq/_nvf/statusline.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
lualine = {
|
||||||
|
enable = true;
|
||||||
|
refresh = {
|
||||||
|
statusline = 10;
|
||||||
|
winbar = 10;
|
||||||
|
};
|
||||||
|
#TODO: rice lualine
|
||||||
|
};
|
||||||
|
}
|
16
nix/homes/rafiq/_nvf/ui.nix
Normal file
16
nix/homes/rafiq/_nvf/ui.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
borders = {
|
||||||
|
enable = true;
|
||||||
|
globalStyle = "rounded";
|
||||||
|
};
|
||||||
|
breadcrumbs.enable = true;
|
||||||
|
# Show color values e.g. #ffffff
|
||||||
|
colorizer.enable = true;
|
||||||
|
# Highlight matching symbols
|
||||||
|
illuminate.enable = true;
|
||||||
|
noice.enable = true;
|
||||||
|
noice.setupOpts.notify.enabled = false;
|
||||||
|
# Make folds look nicer
|
||||||
|
nvim-ufo.enable = true;
|
||||||
|
smartcolumn.enable = true;
|
||||||
|
}
|
11
nix/homes/rafiq/_nvf/utility.nix
Normal file
11
nix/homes/rafiq/_nvf/utility.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
motion.hop.enable = true;
|
||||||
|
yazi-nvim = {
|
||||||
|
enable = true;
|
||||||
|
mappings = {
|
||||||
|
openYazi = "<leader>tt";
|
||||||
|
openYaziDir = "<leader>TT";
|
||||||
|
};
|
||||||
|
setupOpts.open_for_directories = true;
|
||||||
|
};
|
||||||
|
}
|
7
nix/homes/rafiq/_nvf/visuals.nix
Normal file
7
nix/homes/rafiq/_nvf/visuals.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
indent-blankline.enable = true;
|
||||||
|
fidget-nvim.enable = true;
|
||||||
|
fidget-nvim.setupOpts.notification.override_vim_notify = true;
|
||||||
|
nvim-web-devicons.enable = true;
|
||||||
|
rainbow-delimiters.enable = true;
|
||||||
|
}
|
150
nix/homes/rafiq/default.nix
Normal file
150
nix/homes/rafiq/default.nix
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
{ lib, inputs, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib.strings) concatStrings;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
flake.homes.rafiq =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.nvf.homeManagerModules.default
|
||||||
|
inputs.nix-index-database.hmModules.nix-index
|
||||||
|
];
|
||||||
|
persistDirs = [
|
||||||
|
".local/share/zoxide"
|
||||||
|
"notebook"
|
||||||
|
];
|
||||||
|
xdg.configFile."aichat/config.yaml".text = ''
|
||||||
|
model: gemini:gemini-2.0-flash
|
||||||
|
clients:
|
||||||
|
- type: gemini
|
||||||
|
'';
|
||||||
|
home = {
|
||||||
|
sessionVariables = {
|
||||||
|
EDITOR = "nvim";
|
||||||
|
FETCH = "hyfetch";
|
||||||
|
FILE_BROWSER = "yazi";
|
||||||
|
SHELL = "fish";
|
||||||
|
};
|
||||||
|
shellAliases = {
|
||||||
|
fetch = "hyfetch";
|
||||||
|
windows = "sudo systemctl reboot --boot-loader-entry=auto-windows";
|
||||||
|
v = "$EDITOR";
|
||||||
|
e = "edit";
|
||||||
|
cd = "z"; # zoxide
|
||||||
|
ai = "aichat -r %shell% -e";
|
||||||
|
};
|
||||||
|
packages = with pkgs; [
|
||||||
|
fastfetch
|
||||||
|
ripgrep
|
||||||
|
aichat
|
||||||
|
(pkgs.writeShellScriptBin "note" # bash
|
||||||
|
''
|
||||||
|
zk edit -i
|
||||||
|
pushd ~/notebook > /dev/null
|
||||||
|
git add .
|
||||||
|
commit -u
|
||||||
|
popd > /dev/null
|
||||||
|
''
|
||||||
|
)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
nvf.enable = true;
|
||||||
|
nvf.settings.vim = {
|
||||||
|
syntaxHighlighting = true;
|
||||||
|
hideSearchHighlight = true;
|
||||||
|
searchCase = "ignore";
|
||||||
|
undoFile.enable = true;
|
||||||
|
telescope.enable = true;
|
||||||
|
fzf-lua.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
autopairs.nvim-autopairs.enable = true;
|
||||||
|
autocomplete = import ./_nvf/autocomplete.nix { inherit lib; };
|
||||||
|
binds = import ./_nvf/binds.nix;
|
||||||
|
languages = import ./_nvf/languages.nix;
|
||||||
|
lsp = import ./_nvf/lsp.nix;
|
||||||
|
navigation = import ./_nvf/navigation.nix;
|
||||||
|
notes.todo-comments.enable = true;
|
||||||
|
options = {
|
||||||
|
autoindent = true;
|
||||||
|
backspace = "indent,eol,start";
|
||||||
|
cursorline = true;
|
||||||
|
expandtab = true;
|
||||||
|
shiftwidth = 2;
|
||||||
|
smartindent = true;
|
||||||
|
tabstop = 2;
|
||||||
|
};
|
||||||
|
snippets = import ./_nvf/snippets.nix { inherit pkgs; };
|
||||||
|
statusline = import ./_nvf/statusline.nix;
|
||||||
|
treesitter = {
|
||||||
|
autotagHtml = true;
|
||||||
|
fold = true;
|
||||||
|
indent.disable = [ "markdown" ];
|
||||||
|
textobjects.enable = true;
|
||||||
|
};
|
||||||
|
ui = import ./_nvf/ui.nix;
|
||||||
|
utility = import ./_nvf/utility.nix;
|
||||||
|
visuals = import ./_nvf/visuals.nix;
|
||||||
|
};
|
||||||
|
zk = {
|
||||||
|
enable = true;
|
||||||
|
settings.notebook.dir = "~/notebook";
|
||||||
|
};
|
||||||
|
hyfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preset = "bisexual";
|
||||||
|
mode = "rgb";
|
||||||
|
light_dark = "dark";
|
||||||
|
lightness = 0.5;
|
||||||
|
color_align = {
|
||||||
|
# Flag color alignment
|
||||||
|
mode = "horizontal";
|
||||||
|
fore_back = null;
|
||||||
|
};
|
||||||
|
backend = "fastfetch";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tealdeer.enable = true;
|
||||||
|
tealdeer.enableAutoUpdates = true;
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
zoxide.enable = true;
|
||||||
|
nix-index.enable = true;
|
||||||
|
nix-index-database.comma.enable = true;
|
||||||
|
fzf.enable = true;
|
||||||
|
fzf.enableZshIntegration = true;
|
||||||
|
yazi = {
|
||||||
|
enable = true;
|
||||||
|
shellWrapperName = "t";
|
||||||
|
settings.mgr.sort_by = "natural";
|
||||||
|
};
|
||||||
|
fish.enable = true;
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
add_newline = false;
|
||||||
|
format = concatStrings [
|
||||||
|
# First Line
|
||||||
|
## Left Prompt
|
||||||
|
"$hostname$directory"
|
||||||
|
"$fill"
|
||||||
|
## Right Prompt
|
||||||
|
"$all"
|
||||||
|
# Second Line
|
||||||
|
## Left Prompt
|
||||||
|
"$character"
|
||||||
|
];
|
||||||
|
git_branch.format = "[$symbol$branch(:$remote_branch)]($style) ";
|
||||||
|
shlvl.disabled = false;
|
||||||
|
username.disabled = true;
|
||||||
|
fill.symbol = " ";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
11
nix/meta.nix
11
nix/meta.nix
|
@ -6,7 +6,12 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib.options) mkOption;
|
inherit (lib.options) mkOption;
|
||||||
inherit (lib.types) path lazyAttrsOf raw;
|
inherit (lib.types)
|
||||||
|
path
|
||||||
|
lazyAttrsOf
|
||||||
|
raw
|
||||||
|
deferredModule
|
||||||
|
;
|
||||||
inherit (inputs.flake-parts.lib) mkSubmoduleOptions;
|
inherit (inputs.flake-parts.lib) mkSubmoduleOptions;
|
||||||
inherit (cfg.lib.attrsets) firstAttrNameMatching;
|
inherit (cfg.lib.attrsets) firstAttrNameMatching;
|
||||||
cfg = config.flake;
|
cfg = config.flake;
|
||||||
|
@ -29,6 +34,10 @@ in
|
||||||
type = lazyAttrsOf raw;
|
type = lazyAttrsOf raw;
|
||||||
default = { };
|
default = { };
|
||||||
};
|
};
|
||||||
|
homes = mkOption {
|
||||||
|
type = lazyAttrsOf deferredModule;
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
config.flake = {
|
config.flake = {
|
||||||
paths.secrets = cfg.paths.root + "/secrets";
|
paths.secrets = cfg.paths.root + "/secrets";
|
||||||
|
|
|
@ -18,5 +18,6 @@ in
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
programs.${cfg.manifest.users.${config.home.username}.shell}.enable = true;
|
programs.${cfg.manifest.users.${config.home.username}.shell}.enable = true;
|
||||||
|
home.shell.enableShellIntegration = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue