2023-02-07 11:42:25 +01:00
|
|
|
{ config, lib, pkgs, machine, ... }:
|
2023-01-31 09:38:11 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
inherit (pkgs.stdenv.hostPlatform) isLinux;
|
|
|
|
inherit (pkgs.stdenv.hostPlatform) isDarwin;
|
|
|
|
in
|
|
|
|
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./catppuccin
|
|
|
|
./modules/firefox.nix
|
|
|
|
./modules/git.nix
|
|
|
|
./modules/gpg.nix
|
|
|
|
./modules/i3.nix
|
|
|
|
./modules/kubernetes.nix
|
|
|
|
./modules/mail.nix
|
|
|
|
./modules/music.nix
|
|
|
|
./modules/neovim.nix
|
|
|
|
./modules/newsboat.nix
|
2023-02-07 03:55:12 +01:00
|
|
|
./modules/sops.nix
|
2023-01-31 09:38:11 +01:00
|
|
|
./modules/vscode.nix
|
|
|
|
./modules/wezterm.nix
|
|
|
|
./modules/zsh.nix
|
|
|
|
] ++ lib.optionals (builtins.pathExists ./modules/secrets.nix) [
|
|
|
|
# hotfix: use fucking git-secret, this is atrocious beyond belief
|
|
|
|
./modules/secrets.nix
|
|
|
|
];
|
|
|
|
|
2023-02-07 11:42:25 +01:00
|
|
|
nixpkgs.config.allowUnfreePredicate = (pkg: true);
|
|
|
|
|
2023-01-31 09:38:11 +01:00
|
|
|
catppuccin = {
|
2023-02-09 17:35:00 +01:00
|
|
|
defaultTheme = "frappe";
|
2023-01-31 09:38:11 +01:00
|
|
|
bat.enable = true;
|
|
|
|
btop.enable = true;
|
|
|
|
dircolors.enable = true;
|
|
|
|
k9s.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
manual.manpages.enable = false;
|
|
|
|
|
|
|
|
home = {
|
2023-02-07 11:42:25 +01:00
|
|
|
homeDirectory = machine.homeDirectory;
|
|
|
|
username = machine.username;
|
2023-01-31 09:38:11 +01:00
|
|
|
|
|
|
|
packages = with pkgs; ([
|
|
|
|
zsh
|
|
|
|
fd ffmpeg file imagemagick mdcat ranger ripgrep
|
|
|
|
git-secret
|
2023-02-09 17:35:00 +01:00
|
|
|
cargo unstable.deno rustc
|
2023-01-31 09:38:11 +01:00
|
|
|
|
|
|
|
(callPackage ./packages/org-stats {})
|
|
|
|
(callPackage ./packages/python3.catppuccin-catwalk {})
|
|
|
|
(nerdfonts.override { fonts = ["NerdFontsSymbolsOnly"]; })
|
|
|
|
|
2023-02-09 17:35:00 +01:00
|
|
|
pkgs.unstable.jetbrains.idea-ultimate
|
2023-02-07 11:42:25 +01:00
|
|
|
pkgs.unstable.jetbrains.clion
|
|
|
|
pkgs.unstable.jetbrains.goland
|
|
|
|
pkgs.unstable.jetbrains.phpstorm
|
|
|
|
pkgs.unstable.jetbrains.pycharm-professional
|
|
|
|
pkgs.unstable.jetbrains.webstorm
|
|
|
|
pkgs.unstable.wezterm
|
2023-02-09 17:35:00 +01:00
|
|
|
(callPackage ./packages/helm-ls {})
|
2023-01-31 09:38:11 +01:00
|
|
|
] ++ lib.optionals isDarwin [
|
|
|
|
iina
|
|
|
|
] ++ lib.optionals isLinux [
|
|
|
|
_1password-gui
|
|
|
|
insomnia
|
|
|
|
mattermost-desktop
|
2023-02-07 11:42:25 +01:00
|
|
|
] ++ lib.optionals (isLinux && machine.personal) [
|
2023-01-31 09:38:11 +01:00
|
|
|
(callPackage ./packages/python3.discover-overlay {})
|
2023-02-07 11:42:25 +01:00
|
|
|
pkgs.unstable.discord
|
2023-01-31 09:38:11 +01:00
|
|
|
lutris
|
|
|
|
]);
|
|
|
|
|
|
|
|
sessionVariables = {
|
|
|
|
TERMINAL = "wezterm";
|
|
|
|
LESSHISTFILE = "-";
|
|
|
|
|
|
|
|
CARGO_HOME="${config.xdg.dataHome}/cargo";
|
|
|
|
NPM_CONFIG_USERCONFIG="${config.xdg.configHome}/npm/npmrc";
|
|
|
|
RUSTUP_HOME="${config.xdg.dataHome}/rustup";
|
|
|
|
PATH="$PATH:${config.xdg.dataHome}/krew/bin:$GOPATH/bin";
|
|
|
|
} // (if isDarwin then {
|
|
|
|
# https://github.com/NixOS/nix/issues/2033
|
|
|
|
NIX_PATH = "$HOME/.nix-defexpr/channels:/nix/var/nix/profiles/per-user/root/channels\${NIX_PATH:+:$NIX_PATH}";
|
|
|
|
SSH_AUTH_SOCK = "${config.xdg.configHome}/gnupg/S.gpg-agent.ssh";
|
|
|
|
} else {});
|
|
|
|
|
|
|
|
stateVersion = "22.11";
|
|
|
|
};
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
home-manager.enable = true;
|
|
|
|
go = {
|
|
|
|
enable = true;
|
|
|
|
goPath = ".local/share/go";
|
|
|
|
};
|
|
|
|
man.enable = true;
|
|
|
|
taskwarrior.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
xdg = {
|
|
|
|
enable = true;
|
|
|
|
userDirs.enable = isLinux;
|
2023-02-07 11:42:25 +01:00
|
|
|
cacheHome = "${machine.homeDirectory}/.cache";
|
|
|
|
configHome = "${machine.homeDirectory}/.config";
|
|
|
|
dataHome = "${machine.homeDirectory}/.local/share";
|
2023-01-31 09:38:11 +01:00
|
|
|
};
|
|
|
|
}
|