aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorMiran Bastaja <miran.bastaja04@gmail.com>2023-11-10 19:57:21 +0100
committerMiran Bastaja <miran.bastaja04@gmail.com>2023-11-10 20:19:52 +0100
commit251a7bacac7ed2aeb9e6806d003e916ad65b448b (patch)
tree87e61dd72d9d4a5820d7b4a6feb1389ccd05cf6d /share
parent733619cf99be510f0ee13e84e03f7e7bb3280af5 (diff)
Refactor shared module
Diffstat (limited to 'share')
-rw-r--r--share/home/hyprdesktop.nix70
-rw-r--r--share/home/minimal.nix (renamed from share/home/default.nix)42
2 files changed, 78 insertions, 34 deletions
diff --git a/share/home/hyprdesktop.nix b/share/home/hyprdesktop.nix
new file mode 100644
index 0000000..fc657ea
--- /dev/null
+++ b/share/home/hyprdesktop.nix
@@ -0,0 +1,70 @@
+# Module containing a bunch of things that make up a `desktop environment` built
+# off of hyprland. I install this on all my desktop/laptop machines.
+{ pkgs, config, inputs, ... }: {
+ imports = [
+ ./minimal.nix
+ ./hyprland.nix
+ ./git.nix
+ ./mpv.nix
+ ./kitty.nix
+ ./firefox
+ ];
+
+ home.packages = with pkgs; [
+ xh # Nice to use HTTP client
+ bc # CLI calculator
+ amfora # Gemini CLI browser
+ trashy # Trash CLI
+ tokei # counts lines of code
+ btop # modern top
+ brightnessctl
+ wineWowPackages.full
+ winetricks
+ inputs.scripts.packages.${pkgs.system}.image-move
+ qemu_kvm
+
+ # TUI/GUI programs
+ cmus # music player
+ calibre # Document organisation/reading program
+ libreoffice-qt
+ beekeeper-studio # SQL database client
+ thunderbird # email client
+ nsxiv # image viewer
+ discord
+ signal-desktop
+ tdesktop # Telegram desktop
+ fluffychat # matrix client
+ qbittorrent # bittorrent client
+
+ # Gaming
+ jdk17_headless
+ superTuxKart
+ ];
+
+ programs.direnv = {
+ enable = true;
+ nix-direnv.enable = true;
+ };
+
+ xdg = {
+ systemDirs.data =
+ let
+ gds = pkgs.gsettings-desktop-schemas;
+ gtk3 = pkgs.gtk3;
+ in
+ [
+ "${gds}/share/gsettings-schemas/${gds.name}"
+ "${gtk3}/share/gsettings-schemas/${gtk3.name}"
+ ];
+ userDirs =
+ let
+ home = config.home.homeDirectory;
+ in
+ {
+ enable = true;
+ createDirectories = true;
+ pictures = "${home}/Annex/Pictures";
+ music = "${home}/Annex/Music";
+ };
+ };
+}
diff --git a/share/home/default.nix b/share/home/minimal.nix
index 6213e8b..c844000 100644
--- a/share/home/default.nix
+++ b/share/home/minimal.nix
@@ -1,5 +1,5 @@
-# Minimal home configuration containing everything that I want on all of
-# my machines
+# This module contains a bunch of things that make up a minimal environment that
+# I want on ALL of my machines.
{ pkgs, config, ... }: {
imports = [ ./helix.nix ./zsh.nix ];
@@ -8,7 +8,7 @@
git
age
gnupg
- xh
+ ffmpeg
# Modern unix
ripgrep # grep
@@ -16,10 +16,6 @@
sd # sed
dua # du
- bc # CLI calculator
- ffmpeg
- amfora # Gemini CLI browser
- trashy # Trash CLI
git-annex
git-remote-gcrypt
@@ -32,36 +28,14 @@
nix-tree
];
- programs.direnv = {
- enable = true;
- nix-direnv.enable = true;
- };
-
- xdg = {
- enable = true;
- systemDirs.data =
- let
- gds = pkgs.gsettings-desktop-schemas;
- gtk3 = pkgs.gtk3;
- in
- [
- "${gds}/share/gsettings-schemas/${gds.name}"
- "${gtk3}/share/gsettings-schemas/${gtk3.name}"
- ];
- userDirs =
- let
- home = config.home.homeDirectory;
- in
- {
- enable = true;
- createDirectories = true;
- pictures = "${home}/Annex/Pictures";
- music = "${home}/Annex/Music";
- };
- };
+ xdg.enable = true;
# Lots of these are courtesy of xdg-ninja
# https://github.com/b3nj5m1n/xdg-ninja
+ #
+ # Even though these tools may or may not be installed on any particular system
+ # having these variables here is a preventative measure to make sure that
+ # $HOME doesn't get polluted
home.sessionVariables = with config.xdg; {
CARGO_HOME = "${dataHome}/cargo";
GOPATH = "${dataHome}/go";