sisyphus/nixos/users/tdpeuter/dotfiles.nix

114 lines
4.3 KiB
Nix
Raw Normal View History

2023-10-20 19:20:32 +02:00
{ config, lib, pkgs, pkgs-unstable, ... }:
2024-03-27 16:28:39 +01:00
# Does basically the same thing that stow does, but using Nix.
2023-10-20 19:20:32 +02:00
let
cfg = config.sisyphus.users.tdpeuter;
user = config.users.users.tdpeuter.name;
installedPkgs = config.environment.systemPackages ++ config.home-manager.users.tdpeuter.home.packages;
in {
config = lib.mkIf cfg.enable {
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
home = {
2024-03-27 16:28:39 +01:00
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";
};
})
];
2023-10-20 19:20:32 +02:00
};
};
};
}