chore: Further modularize flake

This commit is contained in:
DashieTM 2024-04-18 03:41:30 +02:00
parent c3706f3d36
commit 912751b0df
9 changed files with 124 additions and 112 deletions

View file

@ -38,8 +38,14 @@
nix-index
libnotify
zenith
nh
amberol
];
home.username = "dashie";
home.homeDirectory = "/home/dashie";
home.stateVersion = "24.05";
home.sessionPath = [
"$HOME/.cargo/bin"
];
@ -68,4 +74,8 @@
enable = true;
enableFishIntegration = true;
};
home.sessionVariables =
{
FLAKE = "home/dasshie/gits/dotFiles/nix";
};
}

View file

@ -1,5 +1,12 @@
{
imports = [
{ inputs, pkgs, mod, ... }:
let
base_imports = [
inputs.hyprland.homeManagerModules.default
inputs.anyrun.homeManagerModules.default
inputs.ironbar.homeManagerModules.default
inputs.nix-flatpak.homeManagerModules.nix-flatpak
./hyprland/default.nix
./flatpak.nix
./common.nix
./coding.nix
./xdg.nix
@ -9,8 +16,21 @@
./themes/default.nix
./individual_configs/default.nix
];
home.username = "dashie";
home.homeDirectory = "/home/dashie";
home.stateVersion = "24.05";
in
{
xdg.portal.config.common.default = "*";
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal-gtk
];
};
home-manager.useGlobalPkgs = true;
home-manager.users.dashie.imports = [
{
_module = { args = { inherit inputs; }; };
}
mod
] ++ base_imports;
}

View file

@ -1,3 +0,0 @@
{
programs.home-manager.enable = true;
}

View file

@ -53,8 +53,8 @@
# @define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.36);
# @define-color thumbnail_bg_color #1a1b26;
# @define-color thumbnail_fg_color #c0caf5;
# @define-color sidebar_backdrop_color rgba(192, 202, 245, 0.12);
# @define-color secondary_sidebar_backdrop_color rgba(192, 202, 245, 0.12);
# @define-color sidebar_backdrop_color @sidebar_bg_color;
# @define-color secondary_sidebar_backdrop_color @sidebar_bg_color;
# @define-color blue_1 #99c1f1;
# @define-color blue_2 #62a0ea;
# @define-color blue_3 #3584e4;

View file

@ -1,33 +1,55 @@
{config, ...}:
# Copyright (c) 2020-2021 Mihai Fufezan
# credits to fufexan https://github.com/fufexan/dotfiles/blob/main/home/terminal/programs/xdg.nix
{ config
, pkgs
, ...
}:
let
browser = [ "firefox.desktop" ];
browser = [ "firefox" ];
imageViewer = [ "imv" ];
videoPlayer = [ "mpv" ];
audioPlayer = [ "io.bassi.Amberol" ];
xdgAssociations = type: program: list:
builtins.listToAttrs (map
(e: {
name = "${type}/${e}";
value = program;
})
list);
image = xdgAssociations "image" imageViewer [ "png" "svg" "jpeg" "gif" ];
video = xdgAssociations "video" videoPlayer [ "mp4" "avi" "mkv" ];
audio = xdgAssociations "audio" audioPlayer [ "mp3" "flac" "wav" "aac" ];
browserTypes =
(xdgAssociations "application" browser [
"json"
"x-extension-htm"
"x-extension-html"
"x-extension-shtml"
"x-extension-xht"
"x-extension-xhtml"
])
// (xdgAssociations "x-scheme-handler" browser [
"about"
"ftp"
"http"
"https"
"unknown"
]);
# XDG MIME types
# TODO: make this actually work
associations = {
"application/x-extension-htm" = browser;
"application/x-extension-html" = browser;
"application/x-extension-shtml" = browser;
"application/x-extension-xht" = browser;
"application/x-extension-xhtml" = browser;
"application/xhtml+xml" = browser;
associations = builtins.mapAttrs (_: v: (map (e: "${e}.desktop") v)) ({
"application/pdf" = [ "org.pwmt.zathura-pdf-mupdf" ];
"text/html" = browser;
"x-scheme-handler/about" = browser;
"x-scheme-handler/chrome" = [ "brave.desktop" ];
"x-scheme-handler/ftp" = browser;
"x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser;
"x-scheme-handler/unknown" = browser;
"audio/*" = [ "mpv.desktop" ];
"video/*" = [ "mpv.dekstop" ];
"image/*" = [ "imv.desktop" ];
"application/json" = browser;
"application/pdf" = [ "org.pwmt.zathura.desktop.desktop" ];
# "x-scheme-handler/discord" = [ "discordcanary.desktop" ];
# "x-scheme-handler/spotify" = [ "spotify.desktop" ];
};
"text/plain" = [ "neovide" ];
"x-scheme-handler/chrome" = [ "com.brave.browser" ];
"inode/directory" = [ "yazi" ];
}
// image
// video
// audio
// browserTypes);
in
{
xdg = {