This commit is contained in:
Chris Dombroski 2024-08-31 12:09:19 -04:00
parent c84bcff74a
commit d1a656d27e
2 changed files with 29 additions and 5 deletions

View file

@ -42,6 +42,8 @@
}; };
}; };
nix.settings.use-xdg-base-directories = true;
services = { services = {
ratbagd.enable = true; ratbagd.enable = true;
displayManager = { displayManager = {

View file

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { pkgs, lib, config, ... }:
{ {
# Home Manager needs a bit of information about you and the paths it should # Home Manager needs a bit of information about you and the paths it should
@ -28,7 +28,6 @@
hack-font hack-font
htop htop
jellyfin-media-player jellyfin-media-player
nodejs
konversation konversation
nixd nixd
yakuake yakuake
@ -42,7 +41,6 @@
knossosnet knossosnet
lilypond lilypond
musescore musescore
spotify
protontricks protontricks
protonup-qt protonup-qt
(retroarch.override { (retroarch.override {
@ -100,7 +98,7 @@
permittedInsecurePackages = [ "electron-25.9.0" ]; permittedInsecurePackages = [ "electron-25.9.0" ];
}; };
xdg.configFile."autostart/yakuake.desktop".source = xdg.configFile."autostart/yakuake.desktop".source =
"${pkgs.yakuake.outPath}/share/applications/org.kde.yakuake.desktop"; "${pkgs.yakuake}/share/applications/org.kde.yakuake.desktop";
# Home Manager is pretty good at managing dotfiles. The primary way to manage # Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'. # plain files is through 'home.file'.
@ -117,6 +115,9 @@
# ''; # '';
}; };
home.preferXdgDirectories = true;
xdg.enable = true;
# Home Manager can also manage your environment variables through # Home Manager can also manage your environment variables through
# 'home.sessionVariables'. If you don't want to manage your shell through Home # 'home.sessionVariables'. If you don't want to manage your shell through Home
# Manager then you have to manually source 'hm-session-vars.sh' located at # Manager then you have to manually source 'hm-session-vars.sh' located at
@ -133,9 +134,25 @@
# /etc/profiles/per-user/cdombroski/etc/profile.d/hm-session-vars.sh # /etc/profiles/per-user/cdombroski/etc/profile.d/hm-session-vars.sh
# #
home.sessionVariables = { home.sessionVariables = {
# EDITOR = "emacs"; ANDROID_USER_HOME = "${config.xdg.dataHome}/android";
CARGO_HOME = "${config.xdg.dataHome}/cargo";
DOTNET_CLI_HOME = "${config.xdg.dataHome}/dotnet";
DVDCSS_CACHE = "${config.xdg.dataHome}/dvdcss";
GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle";
JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${config.xdg.configHome}/java";
NODE_REPL_HISTORY = "${config.xdg.stateHome}/node_repl_history";
NPM_CONFIG_USERCONFIG = "${config.xdg.configHome}/npm/npmrc";
PYTHON_HISTORY = "${config.xdg.stateHome}/python_history";
RUSTUP_HOME = "${config.xdg.dataHome}/rustup";
XCOMPOSE_CACHE = "${config.xdg.cacheHome}/X11/xcompose";
};
home.shellAliases = {
adb = ''HOME="${config.xdg.dataHome}/android" adb'';
mvn = "mvn -gs ${config.xdg.configHome}/maven/settings.xml";
wget = "wget --hsts-file=${config.xdg.dataHome}/wget-hsts";
}; };
home.sessionPath = [ "$HOME/.local/bin" ]; home.sessionPath = [ "$HOME/.local/bin" ];
gtk.gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
programs = { programs = {
@ -143,11 +160,16 @@
bash = { bash = {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;
historyFile = "${config.xdg.stateHome}/bash/history";
}; };
direnv = { direnv = {
enable = true; enable = true;
nix-direnv.enable = true; nix-direnv.enable = true;
}; };
gpg = {
enable = true;
homedir = "${config.xdg.dataHome}/gnupg";
};
vim = { vim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;