mirror of
https://github.com/Cian-H/My_NixOS_Config.git
synced 2026-07-02 21:24:50 +01:00
139 lines
4.5 KiB
Nix
139 lines
4.5 KiB
Nix
{
|
|
inputs,
|
|
outputs,
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
unstablePkgs,
|
|
...
|
|
}: let
|
|
noctaliaPlugins = [
|
|
"keybind-cheatsheet"
|
|
"privacy-indicator"
|
|
"screen-toolkit"
|
|
];
|
|
|
|
makeNoctaliaEntries = plugin: let
|
|
pluginSource = ./dotfiles/dot_config/noctalia/plugins-repo + "/${plugin}";
|
|
in {
|
|
name = "noctalia-plugin-${plugin}";
|
|
value = {
|
|
source = pluginSource;
|
|
target = ".config/noctalia/plugins/${plugin}";
|
|
recursive = true;
|
|
};
|
|
};
|
|
|
|
noctaliaPluginFiles = builtins.listToAttrs (map makeNoctaliaEntries noctaliaPlugins);
|
|
in {
|
|
home.file =
|
|
{
|
|
".bashrc".source = ./dotfiles/dot_bashrc;
|
|
".zshrc".source = ./dotfiles/dot_zshrc;
|
|
"nushell" = {
|
|
source = ./dotfiles/dot_config/nushell;
|
|
target = ".config/nushell/my_config";
|
|
recursive = true;
|
|
};
|
|
"fish" = {
|
|
source = ./dotfiles/dot_config/fish;
|
|
target = ".config/fish";
|
|
recursive = true;
|
|
};
|
|
"nvim" = {
|
|
source = lib.cleanSourceWith {
|
|
src = ./dotfiles/dot_config/nvim;
|
|
filter = name: type: let
|
|
baseName = baseNameOf name;
|
|
in
|
|
! (
|
|
(lib.hasPrefix "*/nvim/*" name)
|
|
|| (lib.hasPrefix "." baseName)
|
|
|| (lib.hasPrefix "devenv" baseName)
|
|
|| (lib.hasSuffix ".toml" baseName)
|
|
|| (lib.hasSuffix ".yml" baseName)
|
|
);
|
|
};
|
|
target = ".config/nvim";
|
|
recursive = true;
|
|
};
|
|
"noctalia" = {
|
|
source = lib.cleanSourceWith {
|
|
src = ./dotfiles/dot_config/noctalia;
|
|
filter = name: type: let
|
|
baseName = baseNameOf name;
|
|
in
|
|
! (
|
|
(lib.hasInfix "/plugins/" name)
|
|
|| (lib.hasInfix "/plugins-repo/" name)
|
|
# || (lib.hasInfix "/plugins-settings/" name)
|
|
);
|
|
};
|
|
target = ".config/noctalia";
|
|
recursive = true;
|
|
};
|
|
"noctalia-cli" = {
|
|
source = ./dotfiles/dot_local/bin/executable_noctalia-cli;
|
|
target = ".local/bin/noctalia-cli";
|
|
executable = true;
|
|
};
|
|
"pypoetry" = {
|
|
source = ./dotfiles/dot_config/pypoetry;
|
|
target = ".config/pypoetry";
|
|
recursive = true;
|
|
};
|
|
"Thunar" = {
|
|
source = ./dotfiles/dot_config/Thunar;
|
|
target = ".config/Thunar";
|
|
};
|
|
"rye" = {
|
|
source = ./dotfiles/dot_config/.rye;
|
|
target = ".config/.rye";
|
|
recursive = true;
|
|
};
|
|
}
|
|
// noctaliaPluginFiles;
|
|
|
|
# Move across noctalia plugin settings as a writable overlay
|
|
home.activation.overlayNoctaliaSettings = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
|
mkdir -p "$HOME/.config/noctalia/plugins"
|
|
cp -rL --no-preserve=mode "$HOME/.config/noctalia/plugins-settings/"* "$HOME/.config/noctalia/plugins/"
|
|
'';
|
|
|
|
xdg.configFile = {
|
|
"bat".source = ./dotfiles/dot_config/bat;
|
|
"path.env".source = ./dotfiles/dot_config/path.env;
|
|
"fastfetch".source = ./dotfiles/dot_config/fastfetch;
|
|
"helix".source = ./dotfiles/dot_config/helix;
|
|
"home-manager".source = ./dotfiles/dot_config/home-manager;
|
|
"hypr".source = ./dotfiles/dot_config/hypr;
|
|
"just".source = ./dotfiles/dot_config/just;
|
|
"kitty".source = ./dotfiles/dot_config/kitty;
|
|
"ghostty".source = ./dotfiles/dot_config/ghostty;
|
|
"micro".source = ./dotfiles/dot_config/micro;
|
|
"niri".source = ./dotfiles/dot_config/niri;
|
|
"nushell/lsp.nu".text = ''
|
|
source ~/.config/nushell/my_config/lsp.nu
|
|
'';
|
|
"neovide".source = ./dotfiles/dot_config/neovide;
|
|
"glow".source = ./dotfiles/dot_config/glow;
|
|
"glamour".source = ./dotfiles/dot_config/glamour;
|
|
"starship.toml".source = ./dotfiles/dot_config/starship.toml;
|
|
"elephant/websearch.toml".source = ./dotfiles/dot_config/elephant/websearch.toml;
|
|
"walker".source = ./dotfiles/dot_config/walker;
|
|
"waybar".source = ./dotfiles/dot_config/waybar;
|
|
# "euporie".source = ./dotfiles/dot_config/euporie;
|
|
"bottom".source = ./dotfiles/dot_config/bottom;
|
|
"swaync".source = ./dotfiles/dot_config/swaync;
|
|
"zellij".source = ./dotfiles/dot_config/zellij;
|
|
"git".source = ./dotfiles/dot_config/git;
|
|
"lazygit".source = ./dotfiles/dot_config/lazygit;
|
|
"wezterm".source = ./dotfiles/dot_config/wezterm;
|
|
"alacritty".source = ./dotfiles/dot_config/alacritty;
|
|
"hg".source = ./dotfiles/dot_config/hg;
|
|
"stylua.toml".source = ./dotfiles/dot_config/stylua.toml;
|
|
"electron-flags.conf".source = ./dotfiles/dot_config/electron-flags.conf;
|
|
"foot".source = ./dotfiles/dot_config/foot;
|
|
};
|
|
}
|