nix-dotfiles/home/home.nix

172 lines
4.1 KiB
Nix
Raw Normal View History

2024-07-08 15:02:54 +02:00
{ config, pkgs, lib, extendedLib, inputs, machineVars, ... } @ args: let
inherit (lib) mkForce mkIf optionals;
graphics = !machineVars.headless;
in {
2022-03-07 16:01:52 +01:00
imports = [
./shell.nix
2022-03-07 16:01:52 +01:00
./packages.nix
./config/xdg
2022-03-07 16:01:52 +01:00
2024-08-24 01:58:39 +02:00
./programs/aria2.nix
2023-05-08 01:48:38 +02:00
./programs/atuin.nix
./programs/bash.nix
./programs/bat.nix
2024-09-26 09:56:38 +02:00
./programs/beets.nix
./programs/bottom.nix
2022-03-07 16:01:52 +01:00
./programs/comma.nix
2024-08-12 17:36:13 +02:00
./programs/direnv
./programs/eza.nix
./programs/fzf.nix
2023-10-06 17:18:49 +02:00
./programs/gdb.nix
2024-09-26 09:56:38 +02:00
./programs/gh-dash.nix
./programs/gh.nix
./programs/git
./programs/gpg
./programs/home-manager.nix
2024-09-26 09:56:38 +02:00
./programs/jq.nix
2022-08-19 12:54:32 +02:00
./programs/less.nix
./programs/man.nix
./programs/neovim
./programs/nix-index
./programs/pandoc.nix
./programs/ripgrep.nix
./programs/ssh
./programs/tealdeer
./programs/texlive.nix
2024-09-26 09:56:38 +02:00
./programs/thunderbird.nix
2024-11-18 14:21:53 +01:00
./programs/tmux
./programs/yt-dlp.nix
./programs/zoxide.nix
./programs/zsh
./services/nix-channel-update.nix
2024-08-05 16:37:19 +02:00
./services/pueue.nix
2024-06-30 14:39:36 +02:00
./modules/colors.nix
./modules/shellAliases.nix
./modules/uidGid.nix
2024-12-05 19:43:58 +01:00
] ++ (optionals graphics [
./config/gtk.nix
./programs/alacritty.nix
./programs/emacs
./programs/feh.nix
./programs/firefox.nix
./programs/mpv.nix
./programs/ncmpcpp.nix
./programs/newsboat
./programs/obs-studio.nix
2022-03-07 16:01:52 +01:00
./programs/qutebrowser.nix
./programs/rofi.nix
./programs/taskwarrior.nix
./programs/vscode
2022-03-07 16:01:52 +01:00
./programs/zathura.nix
2024-11-29 01:35:44 +01:00
# ./programs/zed
2022-03-07 16:01:52 +01:00
2024-08-05 14:09:02 +02:00
./services/copyq.nix
2022-03-07 16:01:52 +01:00
./services/dunst.nix
./services/fcitx5.nix
./services/gnome-keyring.nix
./services/keybase.nix
2022-03-07 16:01:52 +01:00
./services/mpd.nix
./services/network-manager.nix
2024-12-05 19:43:58 +01:00
./services/psd.nix
./services/tumblerd.nix
]) ++ (optionals machineVars.wayland [
./programs/hyprland.nix
./programs/waybar.nix
]) ++ (optionals (!machineVars.wayland) [
./programs/xmonad
# ./programs/xmobar
2022-03-07 16:01:52 +01:00
./services/picom.nix
./services/polybar.nix
2024-06-08 12:42:12 +02:00
./services/screen-locker.nix
2024-06-26 20:23:41 +02:00
# ./services/stalonetray.nix
2022-03-07 16:01:52 +01:00
./services/sxhkd.nix
2024-12-05 19:43:58 +01:00
]);
2022-03-07 16:01:52 +01:00
2024-07-08 15:02:54 +02:00
sops.defaultSopsFile = ../secrets/home.yaml;
sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519_home_sops" ];
2024-06-25 20:10:58 +02:00
sops.secrets."nix/access-tokens" = {
sopsFile = ../secrets/common.yaml;
};
nix = {
settings.use-xdg-base-directories = true;
extraOptions = ''
!include ${config.sops.secrets."nix/access-tokens".path}
'';
};
2022-03-07 16:01:52 +01:00
home = {
username = "h7x4";
homeDirectory = "/home/h7x4";
2022-06-02 16:39:12 +02:00
sessionPath = [
"$HOME/.local/bin"
];
# TODO: fix overriding home.file in home-manager
# file = mkIf graphics {
# ".icons/default/index.theme".source = lib.mkForce null;
# ".icons/default/${config.home.pointerCursor.name}.theme".source = lib.mkForce null;
# };
2022-06-02 16:39:12 +02:00
pointerCursor = mkIf graphics {
package = pkgs.capitaine-cursors;
name = "capitaine-cursors";
size = 16;
};
keyboard.options = [ "caps:escape" ];
sessionVariables = {
CARGO_NET_GIT_FETCH_WITH_CLI = "true";
PYTHONSTARTUP = "${config.xdg.configHome}/python/pyrc";
2024-09-04 10:28:54 +02:00
_JAVA_AWT_WM_NONREPARENTING = "1";
};
};
2024-09-26 09:58:09 +02:00
xsession = {
enable = true;
# TODO: declare using xdg config home
scriptPath = ".config/X11/xsession";
profilePath = ".config/X11/xprofile";
};
xdg.configFile = {
"ghc/ghci.conf".text = ''
:set prompt "${extendedLib.termColors.front.magenta "[GHCi]λ"} "
'';
"python/pyrc".text = ''
#!/usr/bin/env python3
import sys
# You also need \x01 and \x02 to separate escape sequence, due to:
# https://stackoverflow.com/a/9468954/1147688
sys.ps1='\x01\x1b${extendedLib.termColors.front.blue "[Python]> "}\x02>>>\x01\x1b[0m\x02 ' # bright yellow
sys.ps2='\x01\x1b[1;49;31m\x02...\x01\x1b[0m\x02 ' # bright red
'';
2022-03-07 16:01:52 +01:00
};
news.display = "silent";
fonts.fontconfig.enable = mkForce true;
2022-03-07 16:01:52 +01:00
manual = {
html.enable = true;
manpages.enable = true;
json.enable = true;
};
qt = mkIf graphics {
2022-03-07 16:01:52 +01:00
enable = true;
2024-09-26 09:58:24 +02:00
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
2022-03-07 16:01:52 +01:00
};
}