aboutsummaryrefslogtreecommitdiff
path: root/share/home/hyprdesktop.nix
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/home/hyprdesktop.nix
parent733619cf99be510f0ee13e84e03f7e7bb3280af5 (diff)
Refactor shared module
Diffstat (limited to 'share/home/hyprdesktop.nix')
-rw-r--r--share/home/hyprdesktop.nix70
1 files changed, 70 insertions, 0 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";
+ };
+ };
+}