nix/home/default.nix
2024-01-06 22:38:07 +00:00

133 lines
2.5 KiB
Nix

{
config,
pkgs,
lib,
...
}:
# https://nix-community.github.io/home-manager/options.xhtml
{
imports = [
./modules/terminal.nix
./modules/scripts.nix
./modules/email.nix
./modules/editor.nix
./modules/mpd.nix
./modules/menu.nix
./modules/scripts.nix
./programs/graphical.nix
./programs/scripts.nix
./programs/neovim/.
./programs/git.nix
./programs/lf/.
./programs/shell.nix
{
options.windowManager.modifierKey = lib.mkOption {default = "SUPER";};
}
];
roles.mpd.enable = true;
programs.home-manager.enable = true;
home.homeDirectory = "/home/${config.home.username}";
xdg.userDirs.enable = true;
home.packages = with pkgs; [
libnotify
dig
jq
fx
mosh
ripgrep
usbutils
wl-clipboard
du-dust
htop
libsixel
yt-dlp
playerctl
neofetch
tree
ansible
];
services.udiskie = {
enable = true;
notify = true;
};
programs.rbw = {
enable = true;
settings = {
email = "tristan@tristans.cloud";
base_url = "https://vault.tristans.cloud";
pinentry = "gnome3";
};
};
programs.ssh.enable = true;
programs.ssh.matchBlocks = {
"git.tristans.cloud" = {
user = "git";
hostname = "100.116.82.65";
port = 2222;
};
"alpine" = {
hostname = "100.116.82.65";
user = "tristan";
};
};
home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/Vanilla-DMZ";
programs.helix = {
enable = true;
languages = {
nix = {
auto-format = true;
language-server = {
command = "${pkgs.rnix-lsp}/bin/rnix-lsp";
};
};
go = {
auto-format = true;
language-server = {
command = "${pkgs.gopls}/bin/gopls";
};
};
typescript = {
auto-format = true;
language-server = {
command = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server";
};
};
};
};
home.file.".config/pipewire/pipewire.conf.d/raop-discover.conf".text = ''
context.modules = [
{
name = libpipewire-module-raop-discover
args = { }
}
]
'';
services.kdeconnect = {
enable = true;
indicator = true;
};
programs.pandoc = {
enable = true;
defaults = {
metadata = {
author = "Tristan Beedell";
};
pdf-engine = "xelatex";
};
};
programs.direnv.enable = true;
}