Refactoring
This commit is contained in:
@@ -0,0 +1,172 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
# TODO: Plasma does not see home manager installed packages
|
||||
let
|
||||
username = "becky";
|
||||
homedir = "/home/${username}";
|
||||
|
||||
zshSourceDirs = [
|
||||
./zsh/dingleberry
|
||||
];
|
||||
in
|
||||
{
|
||||
# Breaks SDDM
|
||||
# targets.genericLinux.enable = true;
|
||||
|
||||
# Enable XDG for non terminal apps
|
||||
# https://github.com/nix-community/home-manager/issues/1439
|
||||
programs.bash.enable = true;
|
||||
|
||||
xdg = {
|
||||
enable = true;
|
||||
mime = {
|
||||
enable = true;
|
||||
};
|
||||
mimeApps = {
|
||||
defaultApplications = {
|
||||
"inode/directory"="org.kde.krusader.desktop";
|
||||
"model/3mf"="org.supermaker.superslicer.desktop";
|
||||
"x-scheme-handler/geo"="google-maps-geo-handler.desktop";
|
||||
"x-scheme-handler/http"="userapp-Firefox-5T0SK2.desktop";
|
||||
"x-scheme-handler/https"="userapp-Firefox-5T0SK2.desktop";
|
||||
"x-scheme-handler/mailto"="thunderbird.desktop";
|
||||
"x-scheme-handler/slack"="slack.desktop";
|
||||
"x-scheme-handler/tel"="org.kde.kdeconnect.handler.desktop";
|
||||
"x-scheme-handler/tg"="org.telegram.desktop._18faa92ddda377ceaa5a576303af9e59.desktop";
|
||||
"x-scheme-handler/chrome"="userapp-Firefox-5T0SK2.desktop";
|
||||
"text/html"="userapp-Firefox-5T0SK2.desktop";
|
||||
"application/x-extension-htm"="userapp-Firefox-5T0SK2.desktop";
|
||||
"application/x-extension-html"="userapp-Firefox-5T0SK2.desktop";
|
||||
"application/x-extension-shtml"="userapp-Firefox-5T0SK2.desktop";
|
||||
"application/xhtml+xml"="userapp-Firefox-5T0SK2.desktop";
|
||||
"application/x-extension-xhtml"="userapp-Firefox-5T0SK2.desktop";
|
||||
"application/x-extension-xht"="userapp-Firefox-5T0SK2.desktop";
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
# portal = {
|
||||
# enable = true;
|
||||
# };
|
||||
};
|
||||
|
||||
nixGL.packages = pkgs.nixgl;
|
||||
nixGL.defaultWrapper = "nvidia";
|
||||
|
||||
home.username = username;
|
||||
|
||||
home.homeDirectory = homedir;
|
||||
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nixd
|
||||
# TODO: Move from system to nix
|
||||
# awscli2
|
||||
# k9s
|
||||
# kubectl
|
||||
];
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Arnie";
|
||||
userEmail = "i@cechis.cz";
|
||||
ignores = [
|
||||
".vscode"
|
||||
".direnv"
|
||||
".devenv"
|
||||
".envrc"
|
||||
];
|
||||
extraConfig = {
|
||||
core = {
|
||||
autocrlf = "input";
|
||||
# TODO: Provide through nix
|
||||
hooksPath = "~/.git/hooks";
|
||||
editor = "vim";
|
||||
};
|
||||
|
||||
pull.rebase = false;
|
||||
|
||||
init.defaultBranch = "main";
|
||||
};
|
||||
};
|
||||
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
|
||||
installBatSyntax = true;
|
||||
installVimSyntax = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
package = config.lib.nixGL.wrap pkgs.ghostty;
|
||||
|
||||
settings = {
|
||||
theme = "catppuccin-mocha";
|
||||
font-size = 10;
|
||||
window-width = 9999;
|
||||
window-height = 9999;
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
shellAliases = {
|
||||
hm-switch = "home-manager switch --impure --flake ~/.config/nix";
|
||||
};
|
||||
dirHashes = {
|
||||
mac = "${homedir}/storage/.macshare";
|
||||
nix = "${homedir}/.config/nix";
|
||||
circuitry = "${homedir}/storage/.circuitry";
|
||||
dev = "${homedir}/storage/.devstack";
|
||||
ai = "${homedir}/storage/.devstack/ai";
|
||||
life = "${homedir}/storage/.life";
|
||||
vysokyujezd = "${homedir}/storage/.life/stavby/vysoky-ujezd";
|
||||
work = "/mnt/yosuke/share/arnie/work";
|
||||
smarthome = "/mnt/yosuke/share/arnie/smarthome";
|
||||
|
||||
# Hardware
|
||||
v2-red = "${homedir}/storage/.hardware/3d-print/v2-red-V2-2201270017";
|
||||
"3dprint" = "${homedir}/storage/.hardware/3d-print";
|
||||
|
||||
# Development
|
||||
projects = "${homedir}/storage/.devstack/projects";
|
||||
yp = "${homedir}/storage/.devstack/projects/yp";
|
||||
ys = "${homedir}/storage/.devstack/projects/ys";
|
||||
investbay = "${homedir}/storage/.devstack/projects/investbay";
|
||||
resource = "${homedir}/storage/.devstack/resource";
|
||||
cechis = "${homedir}/storage/.devstack/projects/dev.cechis.cz";
|
||||
gh = "${homedir}/storage/.devstack/projects/github/Sharsie";
|
||||
rpi = "${homedir}/storage/.devstack/projects/hardware/rpi";
|
||||
c4 = "/mnt/yosuke/share/arnie/smarthome/control4/drivers";
|
||||
};
|
||||
|
||||
initExtra = ''
|
||||
${builtins.concatStringsSep "\n" (
|
||||
builtins.map (dir: ''
|
||||
for file in ${dir}/*.zsh; do
|
||||
source "$file"
|
||||
done
|
||||
'') zshSourceDirs
|
||||
)}
|
||||
|
||||
autoload -U +X bashcompinit && bashcompinit
|
||||
|
||||
source <(kubectl completion zsh)
|
||||
complete -C '/usr/local/bin/aws_completer' aws
|
||||
'';
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "vim";
|
||||
GO111MODULE = "on";
|
||||
TERMINAL = "ghostty";
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user