feat: use xdg config dirs
This commit is contained in:
parent
f9f756d80b
commit
da24197c65
9 changed files with 90 additions and 61 deletions
|
|
@ -7,32 +7,51 @@
|
|||
}:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./modules/bootstrap.nix
|
||||
./modules/theme.nix
|
||||
./modules/shell.nix
|
||||
./modules/terminal.nix
|
||||
./modules/git.nix
|
||||
./modules/editor.nix
|
||||
./modules/packages.nix
|
||||
]
|
||||
++ lib.optionals hostConfig.isLinux [
|
||||
./modules/hyprland.nix
|
||||
./modules/ui.nix
|
||||
];
|
||||
imports = [
|
||||
./modules/bootstrap.nix
|
||||
./modules/theme.nix
|
||||
./modules/shell.nix
|
||||
./modules/terminal.nix
|
||||
./modules/git.nix
|
||||
./modules/editor.nix
|
||||
./modules/packages.nix
|
||||
]
|
||||
++ lib.optionals hostConfig.isLinux [
|
||||
./modules/hyprland.nix
|
||||
./modules/ui.nix
|
||||
];
|
||||
|
||||
config = {
|
||||
theme = "midnight";
|
||||
|
||||
home.username = "barrett";
|
||||
home.homeDirectory =
|
||||
if hostConfig.isDarwin
|
||||
then "/Users/${config.home.username}"
|
||||
else "/home/${config.home.username}";
|
||||
if hostConfig.isDarwin then "/Users/${config.home.username}" else "/home/${config.home.username}";
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
xdg.enable = true;
|
||||
xdg.userDirs = lib.mkIf hostConfig.isLinux {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
desktop = "${config.home.homeDirectory}/Desktop";
|
||||
documents = "${config.home.homeDirectory}/Documents";
|
||||
download = "${config.home.homeDirectory}/Downloads";
|
||||
music = "${config.home.homeDirectory}/Music";
|
||||
pictures = "${config.home.homeDirectory}/Pictures";
|
||||
publicShare = "${config.home.homeDirectory}/Public";
|
||||
templates = "${config.home.homeDirectory}/Templates";
|
||||
videos = "${config.home.homeDirectory}/Videos";
|
||||
};
|
||||
home.sessionVariables = lib.mkIf hostConfig.isLinux {
|
||||
XDG_DESKTOP_DIR = config.xdg.userDirs.desktop;
|
||||
XDG_DOCUMENTS_DIR = config.xdg.userDirs.documents;
|
||||
XDG_DOWNLOAD_DIR = config.xdg.userDirs.download;
|
||||
XDG_MUSIC_DIR = config.xdg.userDirs.music;
|
||||
XDG_PICTURES_DIR = config.xdg.userDirs.pictures;
|
||||
XDG_PUBLICSHARE_DIR = config.xdg.userDirs.publicShare;
|
||||
XDG_TEMPLATES_DIR = config.xdg.userDirs.templates;
|
||||
XDG_VIDEOS_DIR = config.xdg.userDirs.videos;
|
||||
};
|
||||
targets.genericLinux.enable = hostConfig.isLinux && !hostConfig.isNixOS;
|
||||
news.display = "silent";
|
||||
|
||||
|
|
|
|||
|
|
@ -9,24 +9,27 @@ let
|
|||
homeDir = config.home.homeDirectory;
|
||||
repoDir = "${homeDir}/.config/nix";
|
||||
|
||||
directories =
|
||||
[
|
||||
"dev"
|
||||
"Downloads"
|
||||
"Pictures"
|
||||
]
|
||||
++ lib.optionals hostConfig.isLinux [
|
||||
"Pictures/Screensavers"
|
||||
"Pictures/Screenshots"
|
||||
"Pictures/wp"
|
||||
];
|
||||
directories = [ "dev" ];
|
||||
|
||||
pictureSubdirs = [
|
||||
"Screensavers"
|
||||
"Screenshots"
|
||||
"wp"
|
||||
];
|
||||
in
|
||||
{
|
||||
home.activation.createDirectories = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
for dir in ${lib.concatStringsSep " " directories}; do
|
||||
run mkdir -p "$HOME/$dir"
|
||||
done
|
||||
'';
|
||||
home.activation.createDirectories = lib.hm.dag.entryAfter [ "writeBoundary" ] (
|
||||
''
|
||||
for dir in ${lib.concatStringsSep " " directories}; do
|
||||
run mkdir -p "$HOME/$dir"
|
||||
done
|
||||
''
|
||||
+ lib.optionalString hostConfig.isLinux ''
|
||||
for dir in ${lib.concatStringsSep " " pictureSubdirs}; do
|
||||
run mkdir -p "${config.xdg.userDirs.pictures}/$dir"
|
||||
done
|
||||
''
|
||||
);
|
||||
|
||||
home.activation.cleanDanglingLinks = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
for link in "$HOME/.nix-profile" "$HOME/.nix-defexpr"; do
|
||||
|
|
@ -37,7 +40,7 @@ in
|
|||
home.activation.linkWallpapers = lib.mkIf hostConfig.isLinux (
|
||||
lib.hm.dag.entryAfter [ "createDirectories" ] ''
|
||||
src="${repoDir}/config/screen"
|
||||
dest="$HOME/Pictures/Screensavers"
|
||||
dest="${config.xdg.userDirs.pictures}/Screensavers"
|
||||
if [ -d "$src" ]; then
|
||||
for f in "$src"/*; do
|
||||
[ -f "$f" ] || continue
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ in
|
|||
xdg.configFile."hypr/hyprpaper.conf".text = ''
|
||||
wallpaper {
|
||||
monitor =
|
||||
path = ${config.home.homeDirectory}/Pictures/Screensavers/wallpaper.jpg
|
||||
path = ${config.xdg.userDirs.pictures}/Screensavers/wallpaper.jpg
|
||||
}
|
||||
|
||||
splash = false
|
||||
|
|
@ -75,7 +75,7 @@ in
|
|||
|
||||
background {
|
||||
monitor =
|
||||
path = ${config.home.homeDirectory}/Pictures/Screensavers/lock.jpg
|
||||
path = ${config.xdg.userDirs.pictures}/Screensavers/lock.jpg
|
||||
}
|
||||
|
||||
animations {
|
||||
|
|
|
|||
|
|
@ -88,8 +88,7 @@ in
|
|||
};
|
||||
|
||||
home.file.".local/share/fonts" = lib.mkIf hostConfig.isLinux {
|
||||
source =
|
||||
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/fonts";
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/fonts";
|
||||
};
|
||||
|
||||
home.activation.checkFonts = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
|
|
|
|||
|
|
@ -170,7 +170,13 @@ in
|
|||
format = "{icon}";
|
||||
format-charging = "{icon}";
|
||||
format-full = "{icon}";
|
||||
format-icons = ["" "" "" "" ""];
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
states = {
|
||||
hi = 30;
|
||||
mid = 20;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue