summaryrefslogtreecommitdiff
path: root/common/home/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'common/home/default.nix')
-rw-r--r--common/home/default.nix271
1 files changed, 123 insertions, 148 deletions
diff --git a/common/home/default.nix b/common/home/default.nix
index 449d8d5..1ae5ce9 100644
--- a/common/home/default.nix
+++ b/common/home/default.nix
@@ -1,168 +1,143 @@
{
- config,
- pkgs,
- nixvim,
- ...
+ config,
+ pkgs,
+ nixvim,
+ ...
}:
let
- programs = [
- "git"
- "alacritty"
- "firefox"
- "nixvim"
- "hyprlock"
- "waybar"
- "zsh"
- "bash"
- "btop"
- "wofi"
- "password-store"
- "gpg"
- "ssh"
- "neomutt"
- "mbsync"
- "msmtp"
- "direnv"
- "zathura"
- "mpv"
- ];
- services = [
- "syncthing"
- "hyprpaper"
- "network-manager-applet"
- "gpg-agent"
- "mbsync"
- ];
- packages = [
- pkgs.pinentry-qt
- pkgs.networkmanagerapplet
- pkgs.pavucontrol
- pkgs.wl-clipboard
- pkgs.virt-manager
- pkgs.wev
- pkgs.signal-desktop
- pkgs.unzip
- pkgs.zip
- pkgs.sway-contrib.grimshot
- pkgs.wget
- pkgs.tor-browser
- pkgs.imagemagick
- pkgs.yt-dlp
- pkgs.brightnessctl
- pkgs.pciutils
- pkgs.usbutils
- pkgs.acpi
- pkgs.nixfmt-rfc-style
- pkgs.blueberry
- pkgs.gimp
- pkgs.inkscape
- pkgs.hicolor-icon-theme
- pkgs.bat
- pkgs.blender
- ];
-in
+dirfilter = import ../../utils/dirfilter.nix;
+programs = dirfilter { path = ./programs; type = "directory"; };
+services = dirfilter { path = ./services; type = "directory"; };
+packages = [
+ pkgs.pinentry-qt
+ pkgs.networkmanagerapplet
+ pkgs.pavucontrol
+ pkgs.wl-clipboard
+ pkgs.virt-manager
+ pkgs.wev
+ pkgs.signal-desktop
+ pkgs.unzip
+ pkgs.zip
+ pkgs.sway-contrib.grimshot
+ pkgs.wget
+ pkgs.tor-browser
+ pkgs.imagemagick
+ pkgs.yt-dlp
+ pkgs.brightnessctl
+ pkgs.pciutils
+ pkgs.usbutils
+ pkgs.acpi
+ pkgs.nixfmt-rfc-style
+ pkgs.blueberry
+ pkgs.gimp
+ pkgs.inkscape
+ pkgs.hicolor-icon-theme
+ pkgs.bat
+ pkgs.blender
+ ];
+ in
{
- users.n8 = {
- programs = builtins.listToAttrs (
- map (n: {
- name = n;
- value =
- if builtins.pathExists ./programs/${n}/default.nix then
- (import ./programs/${n} {
- inherit pkgs;
- home = config.home-manager.users.n8.home;
- })
- else
- { enable = true; };
- }) programs
- );
+ users.n8 = {
+ programs = builtins.listToAttrs (
+ map (n: {
+ name = n;
+ value =
+ if builtins.pathExists ./programs/${n}/default.nix then
+ (import ./programs/${n} {
+ inherit pkgs;
+ home = config.home-manager.users.n8.home;
+ })
+ else
+ { enable = true; };
+ }) programs
+ );
- services = builtins.listToAttrs (
- map (n: {
- name = n;
- value =
- if builtins.pathExists ./services/${n}/default.nix then
- (import ./services/${n} { inherit pkgs; })
- else
- { enable = true; };
- }) services
- );
+ services = builtins.listToAttrs (
+ map (n: {
+ name = n;
+ value =
+ if builtins.pathExists ./services/${n}/default.nix then
+ (import ./services/${n} { inherit pkgs; })
+ else
+ { enable = true; };
+ }) services
+ );
- accounts = import ./accounts { };
+ accounts = import ./accounts { };
- wayland.windowManager.hyprland = import ./hyprland;
+ wayland.windowManager.hyprland = import ./hyprland;
- home.packages = packages;
+ home.packages = packages;
- home.pointerCursor = {
- gtk.enable = true;
- package = pkgs.bibata-cursors;
- name = "Bibata-Modern-Classic";
- size = 24;
- };
+ home.pointerCursor = {
+ gtk.enable = true;
+ package = pkgs.bibata-cursors;
+ name = "Bibata-Modern-Classic";
+ size = 24;
+ };
- gtk = {
- enable = true;
+ gtk = {
+ enable = true;
- theme = {
- package = pkgs.gruvbox-dark-gtk;
- name = "gruvbox-dark";
- };
+ theme = {
+ package = pkgs.gruvbox-dark-gtk;
+ name = "gruvbox-dark";
+ };
- iconTheme = {
- package = pkgs.flat-remix-icon-theme;
- name = "Flat-Remix-Blue-Light";
- };
+ iconTheme = {
+ package = pkgs.flat-remix-icon-theme;
+ name = "Flat-Remix-Blue-Light";
+ };
- font = {
- name = "SauceCodePro NF";
- size = 11;
- };
- };
+ font = {
+ name = "SauceCodePro NF";
+ size = 11;
+ };
+ };
- qt = {
- enable = true;
- style = {
- package = [
- pkgs.qt6Packages.qt6gtk2
- pkgs.libsForQt5.qtstyleplugins
- ];
- name = "gtk2";
- };
- };
+ qt = {
+ enable = true;
+ style = {
+ package = [
+ pkgs.qt6Packages.qt6gtk2
+ pkgs.libsForQt5.qtstyleplugins
+ ];
+ name = "gtk2";
+ };
+ };
- xdg = {
- portal = {
- enable = true;
- xdgOpenUsePortal = true;
- config = {
- common = {
- default = [ "hyprland" ];
- };
- };
- configPackages = [ pkgs.xdg-desktop-portal-hyprland ];
- extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
- };
+ xdg = {
+ portal = {
+ enable = true;
+ xdgOpenUsePortal = true;
+ config = {
+ common = {
+ default = [ "hyprland" ];
+ };
+ };
+ configPackages = [ pkgs.xdg-desktop-portal-hyprland ];
+ extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
+ };
- userDirs = {
- enable = true;
- download = "${config.home-manager.users.n8.home.homeDirectory}";
- desktop = null;
- documents = "${config.home-manager.users.n8.home.homeDirectory}/global/docs";
- music = "${config.home-manager.users.n8.home.homeDirectory}/global/media/audio";
- pictures = "${config.home-manager.users.n8.home.homeDirectory}/global/media/photos";
- publicShare = null;
- templates = null;
- videos = "${config.home-manager.users.n8.home.homeDirectory}/global/media/videos";
- };
- };
+ userDirs = {
+ enable = true;
+ download = "${config.home-manager.users.n8.home.homeDirectory}";
+ desktop = null;
+ documents = "${config.home-manager.users.n8.home.homeDirectory}/global/docs";
+ music = "${config.home-manager.users.n8.home.homeDirectory}/global/media/audio";
+ pictures = "${config.home-manager.users.n8.home.homeDirectory}/global/media/photos";
+ publicShare = null;
+ templates = null;
+ videos = "${config.home-manager.users.n8.home.homeDirectory}/global/media/videos";
+ };
+ };
- home.stateVersion = "24.05";
+ home.stateVersion = "24.05";
- };
+ };
- useGlobalPkgs = true;
- useUserPackages = true;
- backupFileExtension = "backup";
- sharedModules = [ nixvim.homeManagerModules.nixvim ];
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ backupFileExtension = "backup";
+ sharedModules = [ nixvim.homeManagerModules.nixvim ];
}