@ -1,21 +1,24 @@
|
|||||||
{
|
{
|
||||||
perSystem,
|
|
||||||
osConfig,
|
|
||||||
config,
|
config,
|
||||||
inputs,
|
inputs,
|
||||||
pkgs,
|
|
||||||
lib,
|
lib,
|
||||||
|
osConfig,
|
||||||
|
# perSystem,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
# inherit (lib.strings) removeSuffix;
|
|
||||||
inherit (lib) mkIf mkEnableOption mkDefault mkForce getExe;
|
inherit (lib) mkIf mkEnableOption mkDefault mkForce getExe;
|
||||||
inherit (config.lib.stylix) colors;
|
|
||||||
# inherit (osConfig.module.stylix) theme;
|
|
||||||
inherit (osConfig.networking) hostName;
|
inherit (osConfig.networking) hostName;
|
||||||
|
|
||||||
cfg = config.desktop.niri;
|
cfg = config.desktop.niri;
|
||||||
|
|
||||||
ifLaptop = mkIf (hostName != "dunamis");
|
ifLaptop = mkIf (hostName != "dunamis");
|
||||||
launcher = getExe pkgs.walker;
|
|
||||||
lockscreen = getExe pkgs.gtklock;
|
commonArgs = {
|
||||||
|
inherit config inputs lib osConfig pkgs;
|
||||||
|
launcher = getExe pkgs.walker;
|
||||||
|
lockscreen = getExe pkgs.gtklock;
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
imports = with inputs; [
|
imports = with inputs; [
|
||||||
walker.homeManagerModules.default
|
walker.homeManagerModules.default
|
||||||
@ -30,6 +33,24 @@ in {
|
|||||||
wpaperd.enable = true;
|
wpaperd.enable = true;
|
||||||
qt.enable = false;
|
qt.enable = false;
|
||||||
};
|
};
|
||||||
|
stylix.iconTheme = {
|
||||||
|
enable = true;
|
||||||
|
light = "Papirus-Light";
|
||||||
|
dark = "Papirus-Dark";
|
||||||
|
package = let
|
||||||
|
inherit (lib.strings) hasPrefix;
|
||||||
|
inherit (osConfig.module.stylix) theme;
|
||||||
|
color =
|
||||||
|
if (hasPrefix "rose-pine" theme)
|
||||||
|
then "indigo"
|
||||||
|
else if (hasPrefix "nord" theme)
|
||||||
|
then "nordic"
|
||||||
|
else if (hasPrefix "s" theme)
|
||||||
|
then "teal"
|
||||||
|
else null;
|
||||||
|
in
|
||||||
|
pkgs.papirus-icon-theme.override {inherit color;};
|
||||||
|
};
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"org/gnome/desktop/wm/preferences" = {
|
"org/gnome/desktop/wm/preferences" = {
|
||||||
button-layout = "icon:close";
|
button-layout = "icon:close";
|
||||||
@ -42,40 +63,14 @@ in {
|
|||||||
else lib.mkDefault "prefer-light";
|
else lib.mkDefault "prefer-light";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
iconTheme = let
|
|
||||||
name =
|
|
||||||
if (lib.strings.hasPrefix "gruvbox" osConfig.module.stylix.theme)
|
|
||||||
then "Gruvbox-Plus-Dark"
|
|
||||||
else if config.stylix.polarity == "dark"
|
|
||||||
then "Papirus-Dark"
|
|
||||||
else "Papirus-Light";
|
|
||||||
package = let
|
|
||||||
inherit (osConfig.module.stylix) theme;
|
|
||||||
in
|
|
||||||
if (lib.strings.hasPrefix "gruvbox" theme)
|
|
||||||
then pkgs.gruvbox-plus-icons
|
|
||||||
else if (lib.strings.hasPrefix "rose-pine" theme)
|
|
||||||
then pkgs.papirus-icon-theme.override {color = "indigo";}
|
|
||||||
else if (lib.strings.hasPrefix "nord" theme)
|
|
||||||
then pkgs.papirus-icon-theme.override {color = "nordic";}
|
|
||||||
else if (lib.strings.hasPrefix "s" theme)
|
|
||||||
then pkgs.papirus-icon-theme.override {color = "teal";}
|
|
||||||
else pkgs.papirus-icon-theme;
|
|
||||||
in {inherit name package;};
|
|
||||||
};
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme.name = "gtk3";
|
platformTheme.name = "gtk3";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs.walker = import ./programs/walker commonArgs;
|
||||||
walker = import ./programs/walker {inherit config inputs pkgs;};
|
programs.waybar = import ./programs/waybar commonArgs;
|
||||||
waybar = import ./programs/waybar {inherit config colors getExe ifLaptop launcher pkgs;};
|
services = import ./services commonArgs;
|
||||||
};
|
|
||||||
|
|
||||||
services = import ./services {inherit pkgs lockscreen getExe perSystem osConfig;};
|
|
||||||
|
|
||||||
home.packages = with pkgs;
|
home.packages = with pkgs;
|
||||||
[
|
[
|
||||||
@ -85,13 +80,9 @@ in {
|
|||||||
helvum # pipewire patchbay in rust
|
helvum # pipewire patchbay in rust
|
||||||
junction # app chooser
|
junction # app chooser
|
||||||
loupe # image viewer and editor in rust
|
loupe # image viewer and editor in rust
|
||||||
mission-center # task manager in rust (partly)
|
|
||||||
nautilus # file manager
|
nautilus # file manager
|
||||||
overskride # bluetooth gui in rust
|
|
||||||
papers # pdf reader in rust
|
papers # pdf reader in rust
|
||||||
pika-backup # borg gui in rust
|
|
||||||
pwvucontrol # pipewire gui in rust
|
pwvucontrol # pipewire gui in rust
|
||||||
sonusmix # pipewire routing tool in rust
|
|
||||||
wdisplays # wlroots display configurator
|
wdisplays # wlroots display configurator
|
||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
@ -105,7 +96,7 @@ in {
|
|||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
configFile = {
|
configFile = {
|
||||||
niri = import ./niri.nix {inherit config hostName launcher lockscreen;};
|
niri = import ./niri.nix commonArgs;
|
||||||
"mimeapps.list".force = true;
|
"mimeapps.list".force = true;
|
||||||
};
|
};
|
||||||
mime.enable = true;
|
mime.enable = true;
|
||||||
@ -136,7 +127,6 @@ in {
|
|||||||
};
|
};
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
settings.Manager.DefaultEnvironment = {
|
settings.Manager.DefaultEnvironment = {
|
||||||
QT_QPA_PLATFORM = "wayland";
|
|
||||||
DISPLAY = ":123";
|
DISPLAY = ":123";
|
||||||
};
|
};
|
||||||
targets.tray.Unit.Description = "Home Manager System Tray"; # workaround for udiskie
|
targets.tray.Unit.Description = "Home Manager System Tray"; # workaround for udiskie
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
hostName,
|
osConfig,
|
||||||
launcher,
|
launcher,
|
||||||
lockscreen,
|
lockscreen,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (config.lib.stylix) colors;
|
inherit (config.lib.stylix) colors;
|
||||||
inherit (config.stylix) cursor;
|
inherit (config.stylix) cursor;
|
||||||
|
inherit (osConfig.networking) hostName;
|
||||||
|
|
||||||
keyboard =
|
keyboard =
|
||||||
if hostName == "eldrid"
|
if hostName == "eldrid"
|
||||||
then "chromeos"
|
then "chromeos"
|
||||||
@ -91,14 +93,13 @@ in {
|
|||||||
in ''
|
in ''
|
||||||
environment {
|
environment {
|
||||||
DISPLAY ":123"
|
DISPLAY ":123"
|
||||||
QT_QPA_PLATFORMTHEME "gtk3"
|
CLUTTER_BACKEND "wayland"
|
||||||
|
GDK_BACKEND "wayland"
|
||||||
MOZ_ENABLE_WAYLAND "1"
|
MOZ_ENABLE_WAYLAND "1"
|
||||||
MOZ_WEBRENDER "1"
|
MOZ_WEBRENDER "1"
|
||||||
GDK_BACKEND "wayland"
|
|
||||||
QT_QPA_PLATFORM "wayland"
|
QT_QPA_PLATFORM "wayland"
|
||||||
XDG_SESSION_TYPE "wayland"
|
|
||||||
CLUTTER_BACKEND "wayland"
|
|
||||||
SDL_VIDEODRIVER "wayland"
|
SDL_VIDEODRIVER "wayland"
|
||||||
|
XDG_SESSION_TYPE "wayland"
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
mkDefault,
|
lib,
|
||||||
}: {
|
}: {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@ -15,7 +15,7 @@
|
|||||||
match-mode = "fuzzy";
|
match-mode = "fuzzy";
|
||||||
icon-theme = config.dconf.settings."org/gnome/desktop/interface".icon-theme;
|
icon-theme = config.dconf.settings."org/gnome/desktop/interface".icon-theme;
|
||||||
};
|
};
|
||||||
border = mkDefault {
|
border = lib.mkDefault {
|
||||||
width = 3;
|
width = 3;
|
||||||
radius = 12;
|
radius = 12;
|
||||||
};
|
};
|
||||||
|
@ -1,12 +1,17 @@
|
|||||||
{
|
{
|
||||||
colors,
|
|
||||||
config,
|
config,
|
||||||
getExe,
|
lib,
|
||||||
ifLaptop,
|
osConfig,
|
||||||
launcher,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
|
launcher,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
|
inherit (lib) mkIf getExe;
|
||||||
|
inherit (config.lib.stylix) colors;
|
||||||
|
inherit (osConfig.networking) hostName;
|
||||||
|
|
||||||
|
ifLaptop = mkIf (hostName != "dunamis");
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd = {
|
systemd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
getExe,
|
# perSystem,
|
||||||
lockscreen,
|
lib,
|
||||||
osConfig,
|
osConfig,
|
||||||
perSystem,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lockscreen,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
blueman-applet.enable = osConfig.services.blueman.enable;
|
blueman-applet.enable = osConfig.services.blueman.enable;
|
||||||
@ -14,7 +14,7 @@
|
|||||||
wpaperd.enable = true;
|
wpaperd.enable = true;
|
||||||
copyq = {
|
copyq = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = perSystem.nixpkgs-stable.copyq;
|
# package = perSystem.nixpkgs-stable.copyq;
|
||||||
};
|
};
|
||||||
gnome-keyring = {
|
gnome-keyring = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -56,7 +56,7 @@
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 601;
|
timeout = 601;
|
||||||
on-timeout = getExe pkgs.niri + " msg action power-off-monitors";
|
on-timeout = lib.getExe pkgs.niri + " msg action power-off-monitors";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
|
osConfig,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
|
inherit (osConfig.virtualisation) libvirtd;
|
||||||
|
inherit (osConfig.hardware) bluetooth;
|
||||||
in {
|
in {
|
||||||
console.yazi.enable = true;
|
console.yazi.enable = true;
|
||||||
editor.helix.enable = true;
|
editor.helix.enable = true;
|
||||||
@ -24,42 +27,42 @@ in {
|
|||||||
ssh-agent.enable = true;
|
ssh-agent.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs =
|
||||||
bat.enable = true; # cat in rust
|
lib.attrsets.recursiveUpdate
|
||||||
btop = {
|
{
|
||||||
enable = true;
|
bat.enable = true; # cat in rust
|
||||||
settings.update_ms = 200;
|
btop.enable = true;
|
||||||
};
|
# direnv.enable = true;
|
||||||
# direnv.enable = true;
|
eza.enable = true; # ls in rust
|
||||||
# direnv.silent = true;
|
fd.enable = true; # find in rust
|
||||||
eza.enable = true; # ls in rust
|
fzf.enable = true; # fuzzy finder in rust
|
||||||
fd.enable = true; # find in rust
|
git.enable = true;
|
||||||
fzf.enable = true; # fuzzy finder in rust
|
gitui.enable = true; # git ui in rust
|
||||||
git = {
|
jujutsu.enable = true; # vcs in rust
|
||||||
enable = true;
|
keychain.enable = true;
|
||||||
delta.enable = true; # diff in rust
|
nix-index-database.comma.enable = true;
|
||||||
signing.format = "ssh";
|
nix-index.enable = true;
|
||||||
aliases = {
|
nix-your-shell.enable = true;
|
||||||
cl = "clone";
|
pay-respects.enable = true; # thefuck in rust
|
||||||
co = "checkout";
|
ripgrep.enable = true; # grep in rust
|
||||||
pom = "push origin main";
|
zellij.enable = true;
|
||||||
|
zk.enable = true;
|
||||||
|
zoxide.enable = true; # fuzzy cd in rust
|
||||||
|
}
|
||||||
|
{
|
||||||
|
btop.settings.update_ms = 200;
|
||||||
|
# direnv.silent = true;
|
||||||
|
git = {
|
||||||
|
delta.enable = true; # diff in rust
|
||||||
|
signing.format = "ssh";
|
||||||
|
aliases = {
|
||||||
|
cl = "clone";
|
||||||
|
co = "checkout";
|
||||||
|
pom = "push origin main";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
keychain.keys = ["id_ed25519"];
|
||||||
};
|
};
|
||||||
gitui.enable = true; # git ui in rust
|
|
||||||
jujutsu.enable = true; # vcs in rust
|
|
||||||
keychain = {
|
|
||||||
enable = true;
|
|
||||||
keys = ["id_ed25519"];
|
|
||||||
};
|
|
||||||
nix-index-database.comma.enable = true;
|
|
||||||
nix-index.enable = true;
|
|
||||||
nix-your-shell.enable = true;
|
|
||||||
pay-respects.enable = true; # thefuck in rust
|
|
||||||
ripgrep.enable = true; # grep in rust
|
|
||||||
zk.enable = true;
|
|
||||||
zoxide.enable = true; # fuzzy cd in rust
|
|
||||||
zellij.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs;
|
home.packages = with pkgs;
|
||||||
[
|
[
|
||||||
@ -89,7 +92,7 @@ in {
|
|||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
# vial # qmk keyboard configuring app
|
# vial # qmk keyboard configuring app
|
||||||
pinentry-qt # pinentry for rbw
|
pinentry-qt # pinentry for rbw
|
||||||
virt-manager # libvirt gui
|
(mkIf libvirtd.enable virt-manager) # libvirt gui
|
||||||
# waycheck # check wayland protocols
|
# waycheck # check wayland protocols
|
||||||
gpu-screen-recorder-gtk
|
gpu-screen-recorder-gtk
|
||||||
]
|
]
|
||||||
@ -99,28 +102,22 @@ in {
|
|||||||
# gnome-text-editor
|
# gnome-text-editor
|
||||||
helvum # pipewire patchbay in rust
|
helvum # pipewire patchbay in rust
|
||||||
junction # app chooser
|
junction # app chooser
|
||||||
# loupe # image viewer and editor in rust
|
|
||||||
mission-center # task manager in rust (partly)
|
mission-center # task manager in rust (partly)
|
||||||
# nautilus # file manager
|
(mkIf bluetooth.enable overskride) # bluetooth gui in rust
|
||||||
overskride # bluetooth gui in rust
|
|
||||||
papers # pdf reader in rust
|
|
||||||
pika-backup # borg gui in rust
|
pika-backup # borg gui in rust
|
||||||
pwvucontrol # pipewire gui in rust
|
pwvucontrol # pipewire gui in rust
|
||||||
sonusmix # pipewire routing tool in rust
|
sonusmix # pipewire routing tool in rust
|
||||||
# wdisplays # wlroots display configurator
|
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.desktopEntries = {
|
# xdg.desktopEntries.uni = {
|
||||||
uni = {
|
# actions."Copy".exec = "fish -c \"~/.local/bin/uni --copy\"";
|
||||||
actions."Copy".exec = "fish -c \"~/.local/bin/uni --copy\"";
|
# categories = ["Utility" "X-Launch" "Network"];
|
||||||
categories = ["Utility" "X-Launch" "Network"];
|
# comment = "Select and open or copy URLs from a list.";
|
||||||
comment = "Select and open or copy URLs from a list.";
|
# exec = "fish -c \"~/.local/bin/uni\"";
|
||||||
exec = "fish -c \"~/.local/bin/uni\"";
|
# icon = "web-browser";
|
||||||
icon = "web-browser";
|
# name = "Uni URL Handler";
|
||||||
name = "Uni URL Handler";
|
# startupNotify = true;
|
||||||
startupNotify = true;
|
# terminal = false;
|
||||||
terminal = false;
|
# type = "Application";
|
||||||
type = "Application";
|
# };
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user