2023-10-06 11:24:00 +03:00
|
|
|
{
|
2023-10-09 17:17:24 +03:00
|
|
|
lib,
|
2023-10-06 11:24:00 +03:00
|
|
|
pkgs,
|
2023-10-06 11:32:22 +03:00
|
|
|
stateVersion,
|
2023-10-06 14:32:52 +03:00
|
|
|
email,
|
2023-12-11 20:05:32 +02:00
|
|
|
fullDesktop,
|
2023-10-27 10:31:00 +03:00
|
|
|
hmOnly,
|
2023-10-06 11:24:00 +03:00
|
|
|
...
|
2023-10-26 11:42:55 +03:00
|
|
|
}: {
|
2023-10-06 11:24:00 +03:00
|
|
|
home = {
|
2023-10-06 11:32:22 +03:00
|
|
|
inherit stateVersion;
|
2023-10-06 11:24:00 +03:00
|
|
|
|
|
|
|
username = "motiejus";
|
|
|
|
homeDirectory = "/home/motiejus";
|
|
|
|
};
|
|
|
|
|
2023-10-23 09:48:14 +03:00
|
|
|
home.packages = with pkgs;
|
2023-12-12 13:16:02 +02:00
|
|
|
lib.mkMerge [
|
|
|
|
(lib.mkIf fullDesktop [
|
2023-10-27 10:31:00 +03:00
|
|
|
go
|
2023-12-18 22:57:09 +02:00
|
|
|
zig
|
2023-12-12 13:16:02 +02:00
|
|
|
])
|
|
|
|
(lib.mkIf hmOnly [
|
2023-12-14 10:10:00 +02:00
|
|
|
pkgs.nixgl.nixGLIntel
|
2023-10-27 10:31:00 +03:00
|
|
|
ncdu
|
|
|
|
tokei
|
2023-12-07 10:24:58 +02:00
|
|
|
scrcpy
|
|
|
|
yt-dlp
|
2024-01-03 09:39:40 +02:00
|
|
|
kubectl
|
2023-10-27 10:31:00 +03:00
|
|
|
vimv-rs
|
2023-12-14 10:10:00 +02:00
|
|
|
bandwhich
|
2023-10-27 10:31:00 +03:00
|
|
|
hyperfine
|
2023-12-14 10:10:00 +02:00
|
|
|
(runCommand "ff" {} ''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
{
|
|
|
|
echo '#!/bin/sh'
|
|
|
|
echo 'exec ${pkgs.nixgl.nixGLIntel}/bin/nixGLIntel ${firefox}/bin/firefox "$@"'
|
|
|
|
} > $out/bin/ff
|
|
|
|
chmod a+x $out/bin/ff
|
|
|
|
'')
|
2023-12-12 13:16:02 +02:00
|
|
|
])
|
|
|
|
];
|
2023-10-06 11:24:00 +03:00
|
|
|
|
2023-11-27 18:17:27 +02:00
|
|
|
programs = {
|
|
|
|
direnv.enable = true;
|
2023-10-06 11:24:00 +03:00
|
|
|
|
2023-12-11 20:05:32 +02:00
|
|
|
firefox = lib.mkIf fullDesktop {
|
2023-12-09 09:57:06 +02:00
|
|
|
enable = true;
|
2024-01-27 16:34:01 +02:00
|
|
|
package = pkgs.firefox-bin;
|
2023-12-09 09:57:06 +02:00
|
|
|
profiles = {
|
|
|
|
xdefault = {
|
|
|
|
isDefault = true;
|
|
|
|
settings = {
|
|
|
|
"browser.aboutConfig.showWarning" = false;
|
|
|
|
"browser.contentblocking.category" = "strict";
|
|
|
|
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
|
|
|
"layout.css.prefers-color-scheme.content-override" = 0;
|
|
|
|
"signon.management.page.breach-alerts.enabled" = false;
|
|
|
|
"signon.rememberSignons" = false;
|
|
|
|
};
|
|
|
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
|
|
bitwarden
|
|
|
|
ublock-origin
|
|
|
|
consent-o-matic
|
|
|
|
joplin-web-clipper
|
|
|
|
multi-account-containers
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-11-27 18:17:27 +02:00
|
|
|
neovim = lib.mkMerge [
|
|
|
|
{
|
|
|
|
enable = true;
|
|
|
|
vimAlias = true;
|
|
|
|
vimdiffAlias = true;
|
|
|
|
defaultEditor = true;
|
|
|
|
plugins = with pkgs.vimPlugins;
|
2023-12-12 13:16:02 +02:00
|
|
|
lib.mkMerge [
|
|
|
|
[fugitive]
|
|
|
|
(lib.mkIf fullDesktop [
|
2023-11-27 18:17:27 +02:00
|
|
|
vim-go
|
|
|
|
zig-vim
|
2023-12-12 13:16:02 +02:00
|
|
|
])
|
|
|
|
];
|
2023-11-27 18:17:27 +02:00
|
|
|
extraConfig = builtins.readFile ./vimrc;
|
2023-10-06 11:24:00 +03:00
|
|
|
}
|
2023-12-11 20:05:32 +02:00
|
|
|
(lib.mkIf fullDesktop {
|
2023-11-27 18:17:27 +02:00
|
|
|
extraLuaConfig =
|
|
|
|
builtins.readFile
|
|
|
|
(pkgs.substituteAll {
|
|
|
|
src = ./dev.lua;
|
|
|
|
inherit (pkgs) gotools;
|
|
|
|
})
|
|
|
|
.outPath;
|
|
|
|
})
|
2023-10-06 11:24:00 +03:00
|
|
|
];
|
2023-10-06 14:52:44 +03:00
|
|
|
|
2023-11-27 18:17:27 +02:00
|
|
|
git = {
|
|
|
|
enable = true;
|
|
|
|
userEmail = email;
|
|
|
|
userName = "Motiejus Jakštys";
|
|
|
|
aliases.yolo = "commit --amend --no-edit -a";
|
|
|
|
extraConfig = {
|
|
|
|
rerere.enabled = true;
|
|
|
|
pull.ff = "only";
|
|
|
|
merge.conflictstyle = "diff3";
|
|
|
|
init.defaultBranch = "main";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
gpg = {
|
|
|
|
enable = true;
|
|
|
|
mutableKeys = false;
|
|
|
|
mutableTrust = false;
|
|
|
|
publicKeys = [
|
|
|
|
{
|
|
|
|
source = ./motiejus-gpg.txt;
|
|
|
|
trust = "ultimate";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
tmux = {
|
|
|
|
enable = true;
|
|
|
|
keyMode = "vi";
|
|
|
|
historyLimit = 1000000;
|
|
|
|
extraConfig = ''
|
|
|
|
bind c new-window -c "#{pane_current_path}"
|
|
|
|
bind % split-window -h -c "#{pane_current_path}"
|
|
|
|
bind '"' split-window -v -c "#{pane_current_path}"
|
|
|
|
'';
|
|
|
|
};
|
2023-10-06 14:52:44 +03:00
|
|
|
};
|
2023-10-06 11:24:00 +03:00
|
|
|
}
|