infrastructure/nixos/hosts/thalassa/null/home/default.nix

205 lines
5 KiB
Nix
Raw Normal View History

2022-09-28 14:43:39 +02:00
{ config, pkgs, lib, inputs, texlive, ... }:
let
tex = (pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-full;
2022-09-29 10:31:51 +02:00
dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; };
2022-09-28 14:43:39 +02:00
});
2022-11-27 19:01:15 +01:00
in
{
programs.home-manager.enable = true;
home.username = "victor";
home.homeDirectory = "/home/victor";
home.stateVersion = "22.05";
2022-11-23 13:28:03 +01:00
imports = [ ./hyprland.nix ./neovim.nix ./eww ./theme.nix ];
home.packages = with pkgs; [
2022-10-06 11:54:43 +02:00
appimage-run
2022-08-30 22:38:00 +02:00
brightnessctl
2022-09-20 00:44:26 +02:00
btop
2022-08-30 22:38:00 +02:00
calibre
2022-10-03 21:25:57 +02:00
cinny-desktop
2022-11-06 13:04:41 +01:00
discord-canary
2022-08-30 22:38:00 +02:00
element-desktop-wayland
fluxcd
2022-08-30 22:38:00 +02:00
fusee-launcher
2022-09-07 13:57:45 +02:00
gcc
2022-08-30 22:38:00 +02:00
gimp
gnome.eog
gnome.file-roller
gnome.gnome-font-viewer
gnome.nautilus
grim # Screenshot tool
2022-09-26 13:52:32 +02:00
inputs.comma.packages.${pkgs.system}.default
2022-09-10 19:49:04 +02:00
inputs.riff.packages.${pkgs.system}.riff
inputs.webcord.packages.${pkgs.system}.default
k9s
kubectl
2022-08-30 22:38:00 +02:00
libnotify
2022-11-04 14:25:13 +01:00
mullvad-vpn
2022-08-30 22:38:00 +02:00
neofetch
nixpkgs-review
2022-11-23 13:28:03 +01:00
nixfmt
2022-11-04 14:25:13 +01:00
ouch
2022-09-21 09:51:08 +02:00
plex-media-player
2022-09-22 10:26:25 +02:00
plexamp
2022-08-30 22:38:00 +02:00
python3
retroarchFull
ripgrep
rsync
2022-08-30 22:38:00 +02:00
rustup
2022-09-20 00:44:26 +02:00
saleae-logic-2
2022-09-10 19:50:08 +02:00
solo2-cli
steam-run
2022-09-28 14:43:39 +02:00
tex
2022-09-22 10:26:25 +02:00
thunderbird-wayland
2022-10-06 16:23:06 +02:00
v.deemix-gui
wf-recorder # Screenrecorder
wl-clipboard # Clipboard manager
2022-08-30 22:38:00 +02:00
wofi # Wayland rofi
2022-10-23 23:41:12 +02:00
wpa_supplicant_gui
];
2022-09-27 17:36:46 +02:00
xdg.mimeApps = {
enable = true;
2022-11-27 19:01:15 +01:00
defaultApplications =
let browser = [ "firefox.desktop" ];
in {
"image/*" = "org.gnome.eog.desktop";
"text/html" = browser;
"x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser;
"x-scheme-handler/ftp" = browser;
"x-scheme-handler/about" = browser;
"x-scheme-handler/unknown" = browser;
"application/x-extension-htm" = browser;
"application/x-extension-html" = browser;
"application/x-extension-shtml" = browser;
"application/xhtml+xml" = browser;
"application/x-extension-xhtml" = browser;
"application/x-extension-xht" = browser;
"application/json" = browser;
"application/pdf" = browser;
"x-scheme-handler/vscode" = "code-url-handler.desktop";
"x-scheme-handler/discord" = "webcord.desktop";
};
2022-09-27 17:36:46 +02:00
};
2022-09-28 14:43:39 +02:00
programs.foot = { enable = true; };
2022-09-27 17:36:46 +02:00
2022-09-26 13:52:32 +02:00
programs.nix-index.enable = true;
2022-09-09 19:02:32 +02:00
programs.exa = {
enable = true;
enableAliases = true;
};
2022-11-05 13:26:05 +01:00
programs.bat.enable = true;
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userName = "Victor";
userEmail = "victor@xirion.net";
2022-10-01 14:43:26 +02:00
lfs.enable = true;
2022-11-04 14:25:13 +01:00
delta.enable = true;
extraConfig = {
push.autoSetupRemote = true;
2022-11-23 13:28:03 +01:00
init.defaultBranch = "main";
2022-11-04 14:25:13 +01:00
};
};
2022-09-27 17:36:46 +02:00
2022-08-29 22:05:10 +02:00
programs.mako = {
enable = true;
2022-09-23 09:52:25 +02:00
extraConfig = ''
[mode=do-not-disturb]
invisible=1
'';
2022-08-29 22:05:10 +02:00
};
programs.tmux = {
enable = true;
shortcut = "b";
terminal = "screen-256color";
clock24 = true;
};
programs.firefox = {
enable = true;
package = pkgs.firefox-devedition-bin;
};
2022-09-28 14:43:39 +02:00
programs.vscode = {
enable = true;
package = pkgs.vscode;
2022-09-28 12:20:54 +02:00
userSettings = {
"ltex.language" = "en-GB";
2022-11-27 19:01:15 +01:00
"latex-workshop" = {
"linting.chktex.enabled" = true;
"latex.clean.subfolder.enabled" = true;
"latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%";
};
2022-09-28 12:20:54 +02:00
"workbench.colorTheme" = "Catppuccin Frappé";
2022-09-28 14:43:39 +02:00
"editor.fontFamily" =
"'DejaVuSansMono Nerd Font', 'monospace', monospace";
2022-09-28 12:20:54 +02:00
"keyboard.dispatch" = "keyCode";
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
"terminal.integrated.defaultProfile.linux" = "zsh";
"nix.enableLanguageServer" = true; # Enable LSP.
2022-09-28 14:43:39 +02:00
"nix.serverPath" =
"${pkgs.nil}/bin/nil"; # The path to the LSP server executable.
"[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; };
2022-09-28 12:20:54 +02:00
};
2022-10-06 11:54:43 +02:00
extensions = with pkgs.vscode-extensions;
with pkgs.v.vscode-extensions; [
2022-10-24 13:42:59 +02:00
# astro-build.astro-vscode
2022-10-06 11:54:43 +02:00
brettm12345.nixfmt-vscode
catppuccin.catppuccin-vsc
codezombiech.gitignore
editorconfig.editorconfig
foxundermoon.shell-format
james-yu.latex-workshop
jnoortheen.nix-ide
matklad.rust-analyzer
mkhl.direnv
ms-vscode-remote.remote-ssh
ms-vscode.cpptools
platformio.platformio-ide
2022-10-22 13:15:03 +02:00
redhat.vscode-yaml
2022-10-06 11:54:43 +02:00
tamasfe.even-better-toml
valentjn.vscode-ltex
vscodevim.vim
xaver.clang-format
];
};
programs.direnv = {
enable = true;
2022-09-28 14:43:39 +02:00
nix-direnv = { enable = true; };
};
2022-09-16 10:17:53 +02:00
programs.zsh = {
enable = true;
2022-09-28 14:43:39 +02:00
sessionVariables = { DIRENV_LOG_FORMAT = ""; };
2022-09-07 14:25:42 +02:00
};
2022-11-27 19:01:15 +01:00
xdg.userDirs =
let home = config.home.homeDirectory;
in {
enable = true;
createDirectories = true;
desktop = "${home}/.desktop";
documents = "${home}/cloud/Documents";
download = "${home}/dl";
music = "${home}/cloud/Music";
pictures = "${home}/cloud/Pictures";
publicShare = "${home}/.publicShare";
templates = "${home}/.templates";
videos = "${home}/cloud/Videos";
};
2022-09-21 15:35:13 +02:00
services.syncthing.enable = true;
}