Restructure dotfiles

This commit is contained in:
Tibo De Peuter 2024-03-27 16:28:39 +01:00
parent 93260e3857
commit 7c0a2bf022
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2

View file

@ -1,5 +1,7 @@
{ config, lib, pkgs, pkgs-unstable, ... }: { config, lib, pkgs, pkgs-unstable, ... }:
# Does basically the same thing that stow does, but using Nix.
let let
cfg = config.sisyphus.users.tdpeuter; cfg = config.sisyphus.users.tdpeuter;
user = config.users.users.tdpeuter.name; user = config.users.users.tdpeuter.name;
@ -8,99 +10,103 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable { home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
home = { home = {
file = { file = lib.mkMerge [
".config/alacritty" = { {
source = ../../../stow/alacritty/.config/alacritty; ".config/alacritty" = {
}; enable = false;
".config/dunst" = { source = ../../../stow/alacritty/.config/alacritty;
enable = config.sisyphus.desktop.sway.enable; };
source = ../../../stow/dunst/.config/dunst; ".config/dunst" = {
}; inherit (config.sisyphus.desktop.sway) enable;
".config/fuzzel" = { source = ../../../stow/dunst/.config/dunst;
source = ../../../stow/fuzzel/.config/fuzzel; };
recursive = true; ".config/fuzzel" = {
}; recursive = true;
".config/git" = { source = ../../../stow/fuzzel/.config/fuzzel;
source = ../../../stow/git/.config/git; };
recursive = true; ".config/git" = {
}; recursive = true;
".config/kitty" = { source = ../../../stow/git/.config/git;
source = ../../../stow/kitty/.config/kitty; };
recursive = true; ".config/kitty" = {
}; enable = false;
".config/mako" = { recursive = true;
source = ../../../stow/mako/.config/mako; source = ../../../stow/kitty/.config/kitty;
}; };
".config/mpv" = { ".config/mako" = {
source = ../../../stow/mpv/.config/mpv; enable = false;
}; source = ../../../stow/mako/.config/mako;
".config/OpenRGB" = { };
enable = config.sisyphus.services.openrgb.enable; ".config/mpv" = {
source = ../../../stow/openrgb/.config/OpenRGB; source = ../../../stow/mpv/.config/mpv;
recursive = true; };
}; ".config/OpenRGB" = {
".config/sway" = { inherit (config.sisyphus.services.openrgb) enable;
enable = config.sisyphus.desktop.sway.enable; recursive = true;
source = ../../../stow/sway/.config/sway; source = ../../../stow/openrgb/.config/OpenRGB;
}; };
".config/swayidle" = { ".config/sway" = {
enable = config.sisyphus.desktop.sway.enable; inherit (config.sisyphus.desktop.sway) enable;
source = ../../../stow/swayidle/.config/swayidle; source = ../../../stow/sway/.config/sway;
}; };
".config/swaylock" = { ".config/swayidle" = {
enable = config.sisyphus.desktop.sway.enable; inherit (config.sisyphus.desktop.sway) enable;
source = ../../../stow/swaylock/.config/swaylock; source = ../../../stow/swayidle/.config/swayidle;
}; };
".config/vifm" = { ".config/swaylock" = {
source = ../../../stow/vifm/.config/vifm; inherit (config.sisyphus.desktop.sway) enable;
recursive = true; # Fix history and all working source = ../../../stow/swaylock/.config/swaylock;
}; };
".config/waybar" = { ".config/vifm" = {
enable = config.sisyphus.desktop.sway.enable; recursive = true; # Fix history and all working
source = ../../../stow/waybar/.config/waybar; source = ../../../stow/vifm/.config/vifm;
}; };
".config/zellij" = { ".config/waybar" = {
source = ../../../stow/zellij/.config/zellij; inherit (config.sisyphus.desktop.sway) enable;
}; source = ../../../stow/waybar/.config/waybar;
".oh-my-zsh" = { };
enable = (config.users.users.tdpeuter.shell == pkgs.zsh); ".config/zellij" = {
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh"; source = ../../../stow/zellij/.config/zellij;
recursive = true; };
}; ".oh-my-zsh" = {
".oh-my-zsh/themes/tdpeuter.zsh-theme" = { enable = config.users.users.tdpeuter.shell == pkgs.zsh;
enable = (config.users.users.tdpeuter.shell == pkgs.zsh); source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme; recursive = true;
}; };
".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable { ".oh-my-zsh/themes/tdpeuter.zsh-theme" = {
source = ../../../stow/ssh/.ssh/config; enable = config.users.users.tdpeuter.shell == pkgs.zsh;
}; source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme;
".vim" = { };
source = ../../../stow/vim/.vim; ".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable {
recursive = true; inherit (config.sisyphus.programs.ssh) enable;
}; source = ../../../stow/ssh/.ssh/config;
".vim/autoload/plug.vim" = { };
source = "${pkgs.vimPlugins.vim-plug}/plug.vim"; ".vim" = {
}; recursive = true;
".vimrc" = { source = ../../../stow/vim/.vim;
source = ../../../stow/vim/.vimrc; };
}; ".vim/autoload/plug.vim" = {
".zshrc" = { source = "${pkgs.vimPlugins.vim-plug}/plug.vim";
enable = (config.users.users.tdpeuter.shell == pkgs.zsh); };
source = ../../../stow/zsh/.zshrc; ".vimrc" = {
}; source = ../../../stow/vim/.vimrc;
".zsh/plugins/cmdtime/cmdtime.plugin.zsh" = { };
enable = (config.users.users.tdpeuter.shell == pkgs.zsh); }
source = "${pkgs.cmdtime}/share/cmdtime/cmdtime.plugin.zsh"; (lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) {
}; ".zshrc" = {
".zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" = { source = ../../../stow/zsh/.zshrc;
enable = (config.users.users.tdpeuter.shell == pkgs.zsh); };
source = "${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"; ".zsh/plugins/cmdtime/cmdtime.plugin.zsh" = {
}; source = "${pkgs.cmdtime}/share/cmdtime/cmdtime.plugin.zsh";
".zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" = { };
enable = (config.users.users.tdpeuter.shell == pkgs.zsh); ".zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" = {
source = "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"; source = "${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh";
}; };
}; ".zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" = {
source = "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh";
};
})
];
}; };
}; };
}; };