dotfiles

My PC Dotfiles & Website

modules/desktop/_wm/utils.nix (2264B)


 1## Utilities
 2{util ? null, ...}: {
 3  nixos = {pkgs, ...}: {
 4    environment.systemPackages = with pkgs; [
 5      # Apps
 6      font-manager
 7      gnome-clocks
 8      gnome-disk-utility
 9      overskride
10      qalculate-gtk
11      remmina
12      resources
13
14      # Utilities
15      hyprpicker
16      nwg-displays
17      pwvucontrol
18      wev
19      wl-clipboard
20      wlr-randr
21
22      # Network Settings
23      (gnome-control-center.overrideAttrs (old: {
24        postInstall =
25          old.postInstall
26          + ''
27            dir=$out/share/applications
28            for panel in $dir/*
29            do
30              [ "$panel" = "$dir/gnome-network-panel.desktop" ] && continue
31              [ "$panel" = "$dir/gnome-wifi-panel.desktop" ] && continue
32              [ "$panel" = "$dir/gnome-wwan-panel.desktop" ] && continue
33              [ "$panel" = "$dir/gnome-sharing-panel.desktop" ] && continue
34              [ "$panel" = "$dir/gnome-wacom-panel.desktop" ] && continue
35              rm "$panel"
36            done
37          '';
38      }))
39    ];
40
41    ## Essential Utilities
42    # Power
43    services = {
44      power-profiles-daemon.enable = true;
45      upower.enable = true;
46    };
47
48    # Backlight
49    hardware.brillo.enable = true;
50
51    programs = {
52      # Phone Connect
53      kdeconnect.enable = true;
54
55      # Screen Record
56      gpu-screen-recorder.enable = true;
57    };
58  };
59
60  home = _: {
61    home = {
62      persist.directories = [
63        ".config/kdeconnect"
64        ".config/gpu-screen-recorder"
65        ".config/nwg-displays"
66        ".local/share/gpu-screen-recorder"
67      ];
68
69      file.".config/kwalletrc".text = ''
70        [Wallet]
71        Enabled=false
72      '';
73    };
74
75    # Phone Connect
76    services.kdeconnect = {
77      enable = true;
78      indicator = true;
79    };
80
81    xdg = {
82      mimeApps.defaultApplications = util.build.mime {
83        font = ["com.github.FontManager.FontViewer.desktop"];
84      };
85
86      # Network Settings
87      desktopEntries."org.gnome.Settings" = {
88        name = "Network Settings";
89        comment = "Gnome Control Center";
90        icon = "org.gnome.Settings";
91        exec = "env XDG_CURRENT_DESKTOP=gnome gnome-control-center";
92        categories = ["X-Preferences"];
93        terminal = false;
94      };
95    };
96  };
97}