feat(nix): Move all the gui stuff behind a bool
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
...
|
||||
}: {
|
||||
programs.firefox = {
|
||||
enable = device.isLinux;
|
||||
enable = device.hasGui;
|
||||
profiles.default = {
|
||||
userChrome = let
|
||||
# TODO: Move to subflake
|
||||
|
||||
33
common/gui.nix
Normal file
33
common/gui.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
pkgs,
|
||||
device,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
lib.attrsets.optionalAttrs device.hasGui {
|
||||
home.packages = with pkgs;
|
||||
[]
|
||||
++ lib.optionals device.isLinux [
|
||||
ferdium
|
||||
psst
|
||||
sony-headphones-client
|
||||
abaddon
|
||||
catppuccinThemes.gtk
|
||||
catppuccinThemes.papirus-folders
|
||||
|
||||
gnome.seahorse
|
||||
gnome.nautilus
|
||||
nextcloud-client
|
||||
gparted
|
||||
polkit_gnome
|
||||
|
||||
mullvad-vpn
|
||||
mullvad-closest
|
||||
mullvad-browser
|
||||
steam-run
|
||||
|
||||
webcord-vencord
|
||||
spotify
|
||||
wl-clipboard
|
||||
];
|
||||
}
|
||||
@@ -35,13 +35,15 @@ in {
|
||||
imports =
|
||||
[
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
./tmux.nix
|
||||
./wezterm.nix
|
||||
./kitty.nix
|
||||
./gui.nix
|
||||
|
||||
./tmux.nix
|
||||
./nvim.nix
|
||||
./goread.nix
|
||||
./ncmpcpp.nix
|
||||
./zellij.nix
|
||||
./kitty.nix
|
||||
../modules
|
||||
]
|
||||
++ lib.optionals device.isLinux [../linux];
|
||||
@@ -95,32 +97,14 @@ in {
|
||||
(pkgs.mpv-unwrapped.override {sixelSupport = true;}) {})
|
||||
]
|
||||
++ lib.optionals device.isLinux [
|
||||
ferdium
|
||||
psst
|
||||
sony-headphones-client
|
||||
abaddon
|
||||
rr
|
||||
catppuccinThemes.gtk
|
||||
catppuccinThemes.papirus-folders
|
||||
gnome.seahorse
|
||||
gnome.nautilus
|
||||
nextcloud-client
|
||||
sbctl
|
||||
gparted
|
||||
gptfdisk
|
||||
polkit_gnome
|
||||
dig
|
||||
mullvad-vpn
|
||||
mullvad-closest
|
||||
mullvad-browser
|
||||
steam-run
|
||||
usbutils
|
||||
handlr-regex
|
||||
handlr-xdg
|
||||
webcord-vencord
|
||||
spotify
|
||||
lsof
|
||||
wl-clipboard
|
||||
ncpamixer
|
||||
]
|
||||
++ lib.optionals device.isMac [];
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
enable = device.hasGui;
|
||||
font = {
|
||||
name = "Hasklug Nerd Font Mono";
|
||||
size = 13;
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
programs.wezterm = {
|
||||
enable = true;
|
||||
enable = device.hasGui;
|
||||
extraConfig =
|
||||
/*
|
||||
lua
|
||||
|
||||
@@ -102,6 +102,7 @@
|
||||
name = "genzai";
|
||||
system = "x86_64-linux";
|
||||
user = "fs0c131y";
|
||||
hasGui = false; # Don't wan't to run GUI apps on a headless server
|
||||
}
|
||||
{
|
||||
name = "Uttarayans-MacBook-Pro";
|
||||
@@ -112,11 +113,13 @@
|
||||
name = "Serviuss-iMac-Pro";
|
||||
system = "x86_64-darwin";
|
||||
user = "servius";
|
||||
hasGui = false; # It's a vm so no GUI apps are used
|
||||
}
|
||||
{
|
||||
name = "SteamDeck";
|
||||
system = "x86_64-linux";
|
||||
user = "deck";
|
||||
hasGui = false; # Don't wan't to run GUI apps on the SteamDeck
|
||||
}
|
||||
];
|
||||
|
||||
@@ -127,6 +130,10 @@
|
||||
then device.isNix
|
||||
else false;
|
||||
isMac = !isNull (builtins.match ".*-darwin" device.system);
|
||||
hasGui =
|
||||
if (builtins.hasAttr "hasGui" device)
|
||||
then device.hasGui
|
||||
else true;
|
||||
system = device.system;
|
||||
name = device.name;
|
||||
user = device.user;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
}: {
|
||||
imports = [inputs.anyrun.nixosModules.home-manager];
|
||||
programs.anyrun = {
|
||||
enable = true;
|
||||
enable = device.hasGui;
|
||||
config = {
|
||||
plugins = with inputs.anyrun.packages.${pkgs.system}; [
|
||||
inputs.anyrun-nixos-options.packages.${pkgs.system}.default
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
device,
|
||||
nur,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
@@ -15,11 +13,11 @@
|
||||
../linux/mpd.nix
|
||||
];
|
||||
|
||||
services.kdeconnect.enable = true;
|
||||
services.kdeconnect.indicator = true;
|
||||
services.swayosd.enable = true;
|
||||
services.kdeconnect.enable = device.hasGui;
|
||||
services.kdeconnect.indicator = device.hasGui;
|
||||
services.swayosd.enable = device.hasGui;
|
||||
services.nextcloud-client = {
|
||||
enable = true;
|
||||
enable = device.hasGui;
|
||||
startInBackground = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
programs.foot = {
|
||||
enable = pkgs.stdenv.isLinux;
|
||||
enable = device.hasGui;
|
||||
server.enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{pkgs, ...}: {
|
||||
{pkgs, device, ...}: {
|
||||
gtk = {
|
||||
enable = true;
|
||||
enable = device.hasGui;
|
||||
theme = {
|
||||
name = "Catppuccin-Mocha-Standard-Mauve-Dark";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
imports = [../modules/hyprpaper.nix inputs.hyprlock.homeManagerModules.hyprlock];
|
||||
@@ -8,7 +9,7 @@
|
||||
programs.hyprpaper = let
|
||||
wallpapers = import ../utils/wallhaven.nix {inherit pkgs;};
|
||||
in {
|
||||
enable = true;
|
||||
enable = device.hasGui;
|
||||
systemd.enable = true;
|
||||
systemd.target = "hyprland-session.target";
|
||||
settings.preload = wallpapers.all;
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
device,
|
||||
...
|
||||
}: {
|
||||
imports = [inputs.ironbar.homeManagerModules.default];
|
||||
programs.ironbar = {
|
||||
enable = true;
|
||||
enable = device.hasGui;
|
||||
config.monitors = {
|
||||
DP-1 = {
|
||||
position = "bottom";
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
# pkgs,
|
||||
# config,
|
||||
...
|
||||
}: {
|
||||
{...}: {
|
||||
services.mpd = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user