restructure apps

This commit is contained in:
twoneis 2025-03-09 16:40:32 +01:00
parent 5cbc2cc675
commit 2f24f85e44
8 changed files with 339 additions and 407 deletions

View file

@ -32,7 +32,6 @@
hardware = { hardware = {
enableRedistributableFirmware = true; enableRedistributableFirmware = true;
enableAllFirmware = true;
cpu.amd.updateMicrocode = true; cpu.amd.updateMicrocode = true;
}; };
} }

View file

@ -1,4 +1,4 @@
{config, ...}: let config: let
inherit (config) theme; inherit (config) theme;
in { in {
# Rose Pine # Rose Pine

16
modules/apps/cursor.nix Normal file
View file

@ -0,0 +1,16 @@
{pkgs, ...}: let
getFrom = url: hash: name: {
gtk.enable = true;
x11.enable = true;
name = name;
size = 24;
package = pkgs.runCommand "moveUp" {} ''
mkdir -p $out/share/icons
ln -s ${pkgs.fetchzip {
url = url;
hash = hash;
}} $out/share/icons/${name}
'';
};
in
getFrom "https://github.com/rose-pine/cursor/releases/download/v1.1.0/BreezeX-RosePine-Linux.tar.xz" "sha256-t5xwAPGhuQUfGThedLsmtZEEp1Ljjo3Udhd5Ql3O67c=" "BreezX-RosePine-Linux"

View file

@ -6,32 +6,31 @@
}: let }: let
inherit (lib) mkIf mkForce; inherit (lib) mkIf mkForce;
inherit (config) conf; inherit (config) conf;
in { mkXwlWrapper = import ../niri/xwl-wrapper.nix;
imports = [ time = pkgs.makeDesktopItem {
./firefox.nix name = "peaclock-desktop";
./media.nix desktopName = "Time";
./programs.nix exec = "alacritty -e ${pkgs.peaclock}/bin/peaclock";
./themes.nix };
]; in
mkIf (conf.host != "server") {
config = mkIf (conf.host
!= "server") {
# Audio # Audio
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services = {
pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
jack.enable = mkForce false; jack.enable = mkForce false;
}; };
# Needed for some features in nautilus such as auto-mounting and trash
gvfs.enable = true;
};
# Run statically linked and more # Run statically linked and more
environment.systemPackages = with pkgs; [ environment.systemPackages = [pkgs.nix-alien];
nix-alien
];
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
# Bluetooth # Bluetooth
@ -68,5 +67,104 @@ in {
}; };
services.blueman.enable = true; services.blueman.enable = true;
home-manager.users.${conf.username} = {
home = {
packages = with pkgs;
[
adwaita-icon-theme
adwaita-qt
adwaita-qt6
loupe
spotify
amberol
signal-desktop
vesktop
snapshot
nautilus
inkscape
libresprite
gnome-disk-utility
fragments
element-desktop
tor-browser
libreoffice-qt6
chromium
peaclock
fractal
element-desktop
papers
]
++ [
time
]
++ [
(mkXwlWrapper {
pkgs = pkgs;
name = "Prusa";
pkg = "prusa-slicer";
})
];
file = {
".config/vesktop/settings.json" = {
source = ./vesktop.conf.json;
}; };
} ".config/vesktop/settings/settings.json" = {
source = ./vencord.conf.json;
};
};
pointerCursor = import ./cursor.nix pkgs;
};
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
gtk = {
enable = true;
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
gtk2.extraConfig = "gtk-application-prefer-dark-theme=1\n";
theme.name = "Adwaita Dark";
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
programs = {
firefox = import ./firefox.nix pkgs;
thunderbird = {
enable = true;
profiles = {
"default" = {
isDefault = true;
};
};
};
mpv.enable = true;
pandoc.enable = true;
alacritty = {
enable = true;
settings = import ./alacritty.conf.nix config;
};
};
};
}

View file

@ -1,15 +1,4 @@
{ {pkgs, ...}: {
lib,
config,
pkgs,
...
}: let
inherit (lib) mkIf;
inherit (config) conf;
in
mkIf (conf.host != "server") {
home-manager.users.${conf.username} = {
programs.firefox = {
enable = true; enable = true;
profiles = { profiles = {
"default" = { "default" = {
@ -216,6 +205,4 @@ in
''; '';
}; };
}; };
}; }
};
}

View file

@ -1,22 +0,0 @@
{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf;
inherit (config) conf;
in
mkIf (conf.host != "server") {
home-manager.users.${conf.username} = {
home.packages = with pkgs; [
loupe
spotify
amberol
];
programs.mpv = {
enable = true;
};
};
}

View file

@ -1,84 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
inherit (lib) mkIf;
inherit (config) conf;
mkXwlWrapper = import ../niri/xwl-wrapper.nix;
time = pkgs.makeDesktopItem {
name = "peaclock-desktop";
desktopName = "Time";
exec = "alacritty -e ${pkgs.peaclock}/bin/peaclock";
};
in
mkIf (conf.host != "server") {
services = {
# Needed for some features in nautilus such as auto-mounting and trash
gvfs.enable = true;
};
home-manager.users.${conf.username} = {
home.packages = with pkgs;
[
signal-desktop
vesktop
snapshot
nautilus
inkscape
libresprite
# blender
gnome-disk-utility
fragments
element-desktop
tor-browser
libreoffice-qt6
chromium
peaclock
fractal
element-desktop
papers
]
++ [
time
(mkXwlWrapper {
pkgs = pkgs;
name = "Prusa";
pkg = "prusa-slicer";
})
(mkXwlWrapper {
pkgs = pkgs;
name = "Vial";
pkg = "vial";
})
];
home.file = {
".config/vesktop/settings.json" = {
source = ./vesktop.conf.json;
};
".config/vesktop/settings/settings.json" = {
source = ./vencord.conf.json;
};
};
programs.pandoc = {
enable = true;
};
programs.thunderbird = {
enable = true;
profiles = {
"default" = {
isDefault = true;
};
};
};
programs.alacritty = {
enable = true;
settings = import ./alacritty.conf.nix {config = config;};
};
};
}

View file

@ -1,62 +0,0 @@
{
lib,
config,
pkgs,
...
}: let
inherit (lib) mkIf;
inherit (config) conf;
in
mkIf (conf.host != "server") {
home-manager.users.${conf.username} = {
home.packages = with pkgs; [
adwaita-icon-theme
adwaita-qt
adwaita-qt6
];
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
gtk = {
enable = true;
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
gtk2.extraConfig = "gtk-application-prefer-dark-theme=1\n";
theme.name = "Adwaita Dark";
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
home.pointerCursor = let
getFrom = url: hash: name: {
gtk.enable = true;
x11.enable = true;
name = name;
size = 24;
package = pkgs.runCommand "moveUp" {} ''
mkdir -p $out/share/icons
ln -s ${pkgs.fetchzip {
url = url;
hash = hash;
}} $out/share/icons/${name}
'';
};
in
getFrom "https://github.com/rose-pine/cursor/releases/download/v1.1.0/BreezeX-RosePine-Linux.tar.xz" "sha256-t5xwAPGhuQUfGThedLsmtZEEp1Ljjo3Udhd5Ql3O67c=" "BreezX-RosePine-Linux";
};
}