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