Compare commits
10 commits
7e54e9f76e
...
ff54d7e919
Author | SHA1 | Date | |
---|---|---|---|
Evie Litherland-Smith | ff54d7e919 | ||
Evie Litherland-Smith | 0d3a037ef8 | ||
Evie Litherland-Smith | 6dd70aa58e | ||
Evie Litherland-Smith | a4ab3c7288 | ||
Evie Litherland-Smith | 2ce32bad4c | ||
Evie Litherland-Smith | 5db0b3feff | ||
Evie Litherland-Smith | f8c7f1bf55 | ||
Evie Litherland-Smith | f0405343fc | ||
Evie Litherland-Smith | 97e8a62ece | ||
Evie Litherland-Smith | 1a1d58a199 |
18
flake.nix
18
flake.nix
|
@ -193,21 +193,22 @@
|
|||
hostName = "Northstar";
|
||||
systemModules = [
|
||||
./system/laptop.nix
|
||||
./system/hyprland.nix
|
||||
./system/sway.nix
|
||||
];
|
||||
homeModules = [
|
||||
./home/hyprland/default.nix
|
||||
./home/sway/default.nix
|
||||
];
|
||||
};
|
||||
|
||||
Vanguard = systemConfig {
|
||||
hostName = "Vanguard";
|
||||
systemModules = [
|
||||
./system/hyprland.nix
|
||||
./system/desktop
|
||||
./system/games.nix
|
||||
./system/sway.nix
|
||||
];
|
||||
homeModules = [
|
||||
./home/hyprland/default.nix
|
||||
./home/sway/default.nix
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -218,10 +219,10 @@
|
|||
user = "elitherl";
|
||||
systemModules = [
|
||||
./system/laptop.nix
|
||||
./system/hyprland.nix
|
||||
./system/sway.nix
|
||||
];
|
||||
homeModules = [
|
||||
./home/hyprland/default.nix
|
||||
./home/sway/default.nix
|
||||
./home/email/work.nix
|
||||
];
|
||||
};
|
||||
|
@ -230,10 +231,11 @@
|
|||
hostName = "Scorch";
|
||||
user = "elitherl";
|
||||
systemModules = [
|
||||
./system/hyprland.nix
|
||||
./system/desktop.nix
|
||||
./system/sway.nix
|
||||
];
|
||||
homeModules = [
|
||||
./home/hyprland/default.nix
|
||||
./home/sway/default.nix
|
||||
./home/email/work.nix
|
||||
];
|
||||
};
|
||||
|
|
63
home/desktop.nix
Normal file
63
home/desktop.nix
Normal file
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
catppuccinVariant ? "Mocha",
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./default.nix
|
||||
./email/default.nix
|
||||
./password-store/default.nix
|
||||
./waybar/default.nix
|
||||
./rofi/default.nix
|
||||
./swaylock/default.nix
|
||||
./swaync/default.nix
|
||||
./avizo/default.nix
|
||||
./alacritty/default.nix
|
||||
./emacs/default.nix
|
||||
./obs/default.nix
|
||||
./cava/default.nix
|
||||
];
|
||||
programs.rofi.terminal = "${config.programs.alacritty.package}/bin/alacritty";
|
||||
services = {
|
||||
gpg-agent.pinentryFlavor = "gtk2";
|
||||
avizo.enable = true;
|
||||
syncthing.enable = true;
|
||||
udiskie = {
|
||||
enable = true;
|
||||
notify = true;
|
||||
automount = true;
|
||||
tray = "never";
|
||||
};
|
||||
};
|
||||
gtk = with lib.strings; let
|
||||
accent = "Lavender";
|
||||
size = "Standard";
|
||||
in {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
package = pkgs.catppuccin-papirus-folders.override {
|
||||
accent = toLower accent;
|
||||
flavor = toLower catppuccinVariant;
|
||||
};
|
||||
name = "Papirus-Dark";
|
||||
};
|
||||
cursorTheme = let
|
||||
variant = "${lib.strings.toLower catppuccinVariant}Dark";
|
||||
in {
|
||||
package = pkgs.catppuccin-cursors.${variant};
|
||||
name = "Catppuccin-${catppuccinVariant}-Dark-Cursors";
|
||||
size = 32;
|
||||
};
|
||||
theme = {
|
||||
package = with lib.strings;
|
||||
pkgs.catppuccin-gtk.override {
|
||||
accents = [(toLower accent)];
|
||||
size = toLower size;
|
||||
variant = toLower catppuccinVariant;
|
||||
};
|
||||
name = "Catppuccin-${catppuccinVariant}-${size}-${accent}-Dark";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -5,23 +5,9 @@
|
|||
fonts,
|
||||
scheme,
|
||||
accentColour ? "base07",
|
||||
catppuccinVariant ? "Mocha",
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../default.nix
|
||||
../email/default.nix
|
||||
../password-store/default.nix
|
||||
../waybar/default.nix
|
||||
../rofi/default.nix
|
||||
../swaylock/default.nix
|
||||
../swaync/default.nix
|
||||
../avizo/default.nix
|
||||
../alacritty/default.nix
|
||||
../emacs/default.nix
|
||||
../obs/default.nix
|
||||
../cava/default.nix
|
||||
];
|
||||
imports = [../desktop.nix];
|
||||
home.packages = with pkgs; [
|
||||
(writeShellScriptBin "protonmail-setup-bridge" ''
|
||||
pkill -9 -f protonmail-bridge
|
||||
|
@ -29,54 +15,6 @@
|
|||
${config.wayland.windowManager.hyprland.finalPackage}/bin/hyprctl dispatch exec "${protonmail-bridge}/bin/protonmail-bridge -n"
|
||||
'')
|
||||
];
|
||||
programs = {
|
||||
rofi = with pkgs; {
|
||||
package = rofi-wayland;
|
||||
terminal = "${config.programs.alacritty.package}/bin/alacritty";
|
||||
pass.package = rofi-pass-wayland;
|
||||
};
|
||||
zellij.settings.copy_command = "wl-copy";
|
||||
};
|
||||
services = {
|
||||
gpg-agent.pinentryFlavor = "gtk2";
|
||||
avizo.enable = true;
|
||||
syncthing.enable = true;
|
||||
udiskie = {
|
||||
enable = true;
|
||||
notify = true;
|
||||
automount = true;
|
||||
tray = "never";
|
||||
};
|
||||
};
|
||||
gtk = with lib.strings; let
|
||||
accent = "Lavender";
|
||||
size = "Standard";
|
||||
in {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
package = pkgs.catppuccin-papirus-folders.override {
|
||||
accent = toLower accent;
|
||||
flavor = toLower catppuccinVariant;
|
||||
};
|
||||
name = "Papirus-Dark";
|
||||
};
|
||||
cursorTheme = let
|
||||
variant = "${lib.strings.toLower catppuccinVariant}Dark";
|
||||
in {
|
||||
package = pkgs.catppuccin-cursors.${variant};
|
||||
name = "Catppuccin-${catppuccinVariant}-Dark-Cursors";
|
||||
size = 32;
|
||||
};
|
||||
theme = {
|
||||
package = with lib.strings;
|
||||
pkgs.catppuccin-gtk.override {
|
||||
accents = [(toLower accent)];
|
||||
size = toLower size;
|
||||
variant = toLower catppuccinVariant;
|
||||
};
|
||||
name = "Catppuccin-${catppuccinVariant}-${size}-${accent}-Dark";
|
||||
};
|
||||
};
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
|
|
51
home/river/default.nix
Normal file
51
home/river/default.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{config, ...}: {
|
||||
imports = [../desktop.nix];
|
||||
wayland.windowManager.river = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
extraSessionVariables = {
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
||||
QT_QPA_PLATFORM = "wayland";
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
};
|
||||
systemd = {
|
||||
enable = true;
|
||||
variables = [
|
||||
"DISPLAY"
|
||||
"WAYLAND_DISPLAY"
|
||||
"XDG_CURRENT_DESKTOP"
|
||||
"NIXOS_OZONE_WL"
|
||||
"XCURSOR_THEME"
|
||||
"XCURSOR_SIZE"
|
||||
];
|
||||
};
|
||||
settings = {
|
||||
# These are currently example settings
|
||||
border-width = 2;
|
||||
declare-mode = [
|
||||
"locked"
|
||||
"normal"
|
||||
"passthrough"
|
||||
];
|
||||
input = {
|
||||
pointer-foo-bar = {
|
||||
accel-profile = "flat";
|
||||
events = true;
|
||||
pointer-accel = -0.3;
|
||||
tap = false;
|
||||
};
|
||||
};
|
||||
map = {
|
||||
normal = {
|
||||
"Alt Q" = "close";
|
||||
};
|
||||
};
|
||||
rule-add = {};
|
||||
set-cursor-warp = "on-output-change";
|
||||
set-repeat = "50 300";
|
||||
spawn = [];
|
||||
xcursor-theme = with config.gtk.cursorTheme; "${name} ${toString size}";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -8,11 +8,13 @@
|
|||
}: {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
font = fonts.monospace.name;
|
||||
location = "center";
|
||||
plugins = with pkgs; [rofi-emoji];
|
||||
pass = {
|
||||
enable = true;
|
||||
# package = pkgs.rofi-wayland;
|
||||
extraConfig = ''
|
||||
USERNAME_field='login'
|
||||
'';
|
||||
|
|
|
@ -46,8 +46,12 @@ for i in "${!PULL_DIRS[@]}"; do
|
|||
fi
|
||||
(
|
||||
cd "$DIRECTORY" || exit
|
||||
git remote set-url origin "$URL"
|
||||
git pull --ff-only
|
||||
git push
|
||||
if [ "$(git branch --show-current)" = "main" ]; then
|
||||
git remote set-url origin "$URL"
|
||||
git pull --ff-only
|
||||
git push
|
||||
else
|
||||
echo "Not syncing repo $DIRECTORY on branch $(git branch --show-current)"
|
||||
fi
|
||||
)
|
||||
done
|
||||
|
|
135
home/sway/default.nix
Normal file
135
home/sway/default.nix
Normal file
|
@ -0,0 +1,135 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
fonts,
|
||||
scheme,
|
||||
accentColour ? "base07",
|
||||
...
|
||||
}: {
|
||||
imports = [../desktop.nix];
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
package = null;
|
||||
swaynag.enable = true;
|
||||
systemd.enable = true;
|
||||
xwayland = true;
|
||||
config = {
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "gb";
|
||||
xkb_options = "ctrl:nocaps";
|
||||
};
|
||||
"type:touchpad" = {
|
||||
tap = "enabled";
|
||||
natural_scroll = "enabled";
|
||||
};
|
||||
};
|
||||
modifier = "Mod4";
|
||||
terminal = "${config.programs.alacritty.package}/bin/alacritty";
|
||||
menu = "${config.programs.rofi.finalPackage}/bin/rofi -show drun";
|
||||
workspaceAutoBackAndForth = true;
|
||||
bars = [];
|
||||
gaps = {
|
||||
inner = 10;
|
||||
# outer = 5;
|
||||
};
|
||||
fonts = {
|
||||
names = [fonts.monospace.name];
|
||||
style = "regular";
|
||||
size = 12.0; # fonts.sizes.desktop;
|
||||
};
|
||||
colors = with scheme.withHashtag; let
|
||||
text = toString base05;
|
||||
indicator = toString cyan;
|
||||
in rec {
|
||||
background = toString base00;
|
||||
focused = rec {
|
||||
inherit background text indicator;
|
||||
border = toString scheme.withHashtag.${accentColour};
|
||||
childBorder = border;
|
||||
};
|
||||
unfocused = rec {
|
||||
inherit background text indicator;
|
||||
border = toString base03;
|
||||
childBorder = border;
|
||||
};
|
||||
focusedInactive = rec {
|
||||
inherit background text indicator;
|
||||
border = toString base03;
|
||||
childBorder = border;
|
||||
};
|
||||
};
|
||||
startup = [
|
||||
{command = "${pkgs.swaynotificationcenter}/bin/swaync";}
|
||||
{command = "${pkgs.swaybg}/bin/swaybg -i ${../../wallpapers/waves/cat-waves.png}";}
|
||||
{command = "${pkgs.waybar}/bin/waybar";}
|
||||
{command = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1";}
|
||||
{command = "${pkgs.protonmail-bridge}/bin/protonmail-bridge -n";}
|
||||
];
|
||||
assigns = {
|
||||
"3: Files" = [
|
||||
{class = "^(libreoffice|soffice)(.*)$";}
|
||||
];
|
||||
"4: Chat" = [
|
||||
{class = "^WebCord$";}
|
||||
{class = "^Signal$";}
|
||||
];
|
||||
"5: Games" = [
|
||||
{class = "^steam$";}
|
||||
{class = "^org.prismlauncher.PrismLauncher$";}
|
||||
];
|
||||
};
|
||||
window = {
|
||||
commands = [
|
||||
{
|
||||
command = "floating enable";
|
||||
criteria = {app_id = "org.kde.polkit-kde-authentication-agent-1";};
|
||||
}
|
||||
{
|
||||
command = "floating enable";
|
||||
criteria = {app_id = "Pinentry";};
|
||||
}
|
||||
{
|
||||
command = "floating enable";
|
||||
criteria = {app_id = "pavucontrol";};
|
||||
}
|
||||
{
|
||||
command = "floating enable";
|
||||
criteria = {app_id = ".blueman-manager-wrapped";};
|
||||
}
|
||||
{
|
||||
command = "floating enable";
|
||||
criteria = {app_id = "nm-connection-editor";};
|
||||
}
|
||||
{
|
||||
command = "floating enable";
|
||||
criteria = {app_id = "org.prismlauncher.PrismLauncher";};
|
||||
}
|
||||
];
|
||||
};
|
||||
keybindings = let
|
||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||
in
|
||||
lib.mkOptionDefault {
|
||||
"${modifier}+F1" = "exec swaylock";
|
||||
"${modifier}+z" = "exec swaync-client -t -sw";
|
||||
"${modifier}+e" = "exec emacsclient -c";
|
||||
"${modifier}+w" = "exec firefox";
|
||||
"${modifier}+f" = "exec thunar";
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
corner_radius 10
|
||||
blur enable
|
||||
blur_xray disable
|
||||
blur_passes 3
|
||||
blur_radius 5
|
||||
corner_radius 10
|
||||
shadows enable
|
||||
shadow_blur_radius 4
|
||||
titlebar_separator enable
|
||||
scratchpad_minimize disable
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{pkgs, ...}: {
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
|
@ -13,7 +9,7 @@
|
|||
indicator-caps-lock = true;
|
||||
ignore-empty-password = true;
|
||||
show-failed-attempts = true;
|
||||
effect-blur = with config.wayland.windowManager.hyprland.settings.decoration.blur; "${toString size}x${toString passes}";
|
||||
effect-blur = "5x3";
|
||||
effect-vignette = "0.5:0.5";
|
||||
grace = 2;
|
||||
fade-in = 0.2;
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
position = "top";
|
||||
# Layout
|
||||
"modules-left" = [
|
||||
"hyprland/workspaces"
|
||||
"hyprland/window"
|
||||
"sway/workspaces"
|
||||
"sway/window"
|
||||
];
|
||||
"modules-center" = [
|
||||
"mpris"
|
||||
|
@ -36,8 +36,36 @@
|
|||
"tray"
|
||||
];
|
||||
# Module config
|
||||
"hyprland/window" = {
|
||||
"sway/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"1" = " ";
|
||||
"2" = " ";
|
||||
"3" = " ";
|
||||
"4" = " ";
|
||||
"5" = " ";
|
||||
"6" = " ";
|
||||
"7" = " ";
|
||||
"8" = " ";
|
||||
"9" = " ";
|
||||
"10" = " ";
|
||||
default = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
# show-special = false;
|
||||
# sort-by-number = true;
|
||||
all-outputs = false;
|
||||
persistent-workspaces = {
|
||||
"1" = [];
|
||||
"2" = [];
|
||||
"3" = [];
|
||||
"4" = [];
|
||||
"5" = [];
|
||||
};
|
||||
};
|
||||
"sway/window" = {
|
||||
"format" = "{title}";
|
||||
"max-length" = 50;
|
||||
"rewrite" = {
|
||||
"(.*) - GNU Emacs at (.*)" = " $1 [$2]";
|
||||
"(Alacritty.*)" = " $1";
|
||||
|
@ -57,34 +85,6 @@
|
|||
"(X2Go Client)" = " $1";
|
||||
"(NoMachine|Nxplayer.bin) (.*)" = " $1 $2";
|
||||
};
|
||||
"separate-outputs" = true;
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"1" = " ";
|
||||
"2" = " ";
|
||||
"3" = " ";
|
||||
"4" = " ";
|
||||
"5" = " ";
|
||||
"6" = " ";
|
||||
"7" = " ";
|
||||
"8" = " ";
|
||||
"9" = " ";
|
||||
"10" = " ";
|
||||
default = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
show-special = false;
|
||||
sort-by-number = true;
|
||||
all-outputs = false;
|
||||
persistent-workspaces = {
|
||||
"1" = [];
|
||||
"2" = [];
|
||||
"3" = [];
|
||||
"4" = [];
|
||||
"5" = [];
|
||||
};
|
||||
};
|
||||
mpris = {
|
||||
"format" = "{status_icon} {player_icon} {artist} - {title}";
|
||||
|
@ -314,10 +314,10 @@
|
|||
margin: 0px;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
#workspaces button.empty {
|
||||
#workspaces button.persistent {
|
||||
color: ${base03};
|
||||
}
|
||||
#workspaces button.active {
|
||||
#workspaces button.focused {
|
||||
color: ${accent};
|
||||
}
|
||||
#workspaces button.urgent {
|
||||
|
|
|
@ -1 +1,7 @@
|
|||
{...}: {wayland.windowManager.hyprland.settings.monitor = ["eDP-1,preferred,1920x0,1.50"];}
|
||||
{...}: {
|
||||
wayland.windowManager.sway.config.output = {
|
||||
"eDP-1" = {
|
||||
scale = "1.5";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,34 +1,85 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
user,
|
||||
...
|
||||
}: {
|
||||
imports = [./default.nix];
|
||||
environment.systemPackages = with pkgs; [
|
||||
libnotify
|
||||
libcamera
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
hunspell
|
||||
hunspellDicts.en_GB-large
|
||||
xarchiver
|
||||
libreoffice-fresh
|
||||
zathura
|
||||
inkscape
|
||||
noson
|
||||
tagger
|
||||
webcord
|
||||
signal-desktop
|
||||
remmina
|
||||
nomachine-client
|
||||
];
|
||||
imports = [./default.nix ./firefox.nix];
|
||||
nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||
environment = {
|
||||
sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
|
||||
};
|
||||
systemPackages = with pkgs; [
|
||||
wtype
|
||||
wl-clipboard
|
||||
xdg-utils
|
||||
libnotify
|
||||
libcamera
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
hunspell
|
||||
hunspellDicts.en_GB-large
|
||||
swaybg
|
||||
swayimg
|
||||
swaylock-effects
|
||||
pamixer
|
||||
pavucontrol
|
||||
playerctl
|
||||
brightnessctl
|
||||
mpv
|
||||
xarchiver
|
||||
libreoffice-fresh
|
||||
zathura
|
||||
inkscape
|
||||
noson
|
||||
tagger
|
||||
webcord
|
||||
signal-desktop
|
||||
remmina
|
||||
nomachine-client
|
||||
];
|
||||
};
|
||||
security = {
|
||||
polkit.enable = true;
|
||||
rtkit.enable = true;
|
||||
pam = {
|
||||
services.swaylock = {};
|
||||
loginLimits = [
|
||||
{
|
||||
domain = "@users";
|
||||
item = "rtprio";
|
||||
type = "-";
|
||||
value = 1;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
sound.enable = false;
|
||||
hardware.bluetooth.enable = true;
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
light.enable = true;
|
||||
noisetorch.enable = true;
|
||||
thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman];
|
||||
};
|
||||
};
|
||||
gtk.iconCache.enable = true;
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk2";
|
||||
style = "gtk2";
|
||||
};
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
gvfs = {
|
||||
enable = true;
|
||||
package = lib.mkForce pkgs.gnome3.gvfs;
|
||||
};
|
||||
accounts-daemon.enable = true;
|
||||
dbus.packages = with pkgs; [gcr];
|
||||
greetd = {
|
||||
|
@ -46,20 +97,94 @@
|
|||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
xserver.xkb = {
|
||||
layout = "gb";
|
||||
variant = "";
|
||||
options = "ctrl:nocaps";
|
||||
tumbler.enable = true;
|
||||
udisks2.enable = true;
|
||||
xserver = {
|
||||
enable = false;
|
||||
xkb = {
|
||||
layout = "gb";
|
||||
variant = "";
|
||||
options = "ctrl:nocaps";
|
||||
};
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
noisetorch.enable = true;
|
||||
};
|
||||
gtk.iconCache.enable = true;
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk2";
|
||||
style = "gtk2";
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes
|
||||
extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
||||
};
|
||||
mime = let
|
||||
emacs = ["emacsclient.desktop" "emacs.desktop"];
|
||||
browser = ["firefox.desktop"];
|
||||
applications = {
|
||||
"inode/directory" = ["thunar.desktop"];
|
||||
"inode/symlink" = ["thunar.desktop"];
|
||||
|
||||
"image/jpeg" = ["swayimg.desktop"];
|
||||
"image/png" = ["swayimg.desktop"];
|
||||
"video/mp4" = ["mpv.desktop"];
|
||||
|
||||
"text/plain" = emacs;
|
||||
"text/richtext" = emacs;
|
||||
"text/org" = emacs;
|
||||
"text/markdown" = emacs;
|
||||
"text/rust" = emacs;
|
||||
"text/csv" = emacs;
|
||||
"text/html" = emacs;
|
||||
"text/css" = emacs;
|
||||
"text/tab-separated-values" = emacs;
|
||||
|
||||
"text/x-emacs-lisp" = emacs;
|
||||
"text/x-fortran" = emacs;
|
||||
"text/x-idl" = emacs;
|
||||
"text/x-log" = emacs;
|
||||
"text/x-lua" = emacs;
|
||||
"text/x-makefile" = emacs;
|
||||
"text/x-python" = emacs;
|
||||
"text/x-python3" = emacs;
|
||||
"text/x-readme" = emacs;
|
||||
"text/x-scheme" = emacs;
|
||||
"text/x-tex" = emacs;
|
||||
"text/x-texinfo" = emacs;
|
||||
|
||||
"application/json" = emacs;
|
||||
"application/toml" = emacs;
|
||||
"application/yaml" = emacs;
|
||||
"application/xml" = emacs;
|
||||
"application/rss+xml" = emacs;
|
||||
"application/xhtml+xml" = emacs;
|
||||
"application/oxps" = emacs;
|
||||
"application/x-shellscript" = emacs;
|
||||
|
||||
"application/pdf" = ["org.pwmt.zathura.desktop"];
|
||||
"application/epub+zip" = ["org.pwmt.zathura.desktop"];
|
||||
"application/msword" = ["writer.desktop"];
|
||||
"application/zip" = ["xarchiver.desktop"];
|
||||
|
||||
"application/x-extension-htm" = browser;
|
||||
"application/x-extension-html" = browser;
|
||||
"application/x-extension-shtml" = browser;
|
||||
"application/x-extension-xhtml" = browser;
|
||||
"application/x-extension-xht" = browser;
|
||||
"application/x-mozilla-bookmarks" = browser;
|
||||
|
||||
"x-scheme-handler/http" = browser;
|
||||
"x-scheme-handler/https" = browser;
|
||||
"x-scheme-handler/about" = browser;
|
||||
"x-scheme-handler/chrome" = browser;
|
||||
"x-scheme-handler/webcal" = browser;
|
||||
"x-scheme-handler/unknown" = emacs;
|
||||
|
||||
"x-scheme-handler/ms-word" = ["writer.desktop"];
|
||||
"x-scheme-handler/ms-powerpoint" = ["impress.desktop"];
|
||||
"x-scheme-handler/ms-excel" = ["calc.desktop"];
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
defaultApplications = applications;
|
||||
addedAssociations = applications;
|
||||
removedAssociations = {"x-scheme-handler/zoomus" = browser;};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,136 +1,23 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./desktop.nix ./firefox.nix];
|
||||
nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||
{pkgs, ...}: {
|
||||
imports = [./desktop.nix];
|
||||
environment = {
|
||||
sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
XDG_SESSION_DESKTOP = "Hyprland";
|
||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||
GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
|
||||
};
|
||||
systemPackages = with pkgs; [
|
||||
wtype
|
||||
wl-clipboard
|
||||
xdg-utils
|
||||
hyprpaper
|
||||
hyprpicker
|
||||
swaylock-effects
|
||||
swayimg
|
||||
pamixer
|
||||
pavucontrol
|
||||
playerctl
|
||||
brightnessctl
|
||||
mpv
|
||||
];
|
||||
};
|
||||
security.pam.services = {
|
||||
swaylock = {};
|
||||
hyprlock = {};
|
||||
};
|
||||
services = {
|
||||
xserver.enable = false;
|
||||
blueman.enable = true;
|
||||
udisks2.enable = true;
|
||||
tumbler.enable = true;
|
||||
gvfs = {
|
||||
enable = true;
|
||||
package = lib.mkForce pkgs.gnome3.gvfs;
|
||||
};
|
||||
greetd.settings = let
|
||||
command = "Hyprland";
|
||||
in {
|
||||
default_session = {inherit command;};
|
||||
initial_session = {inherit command;};
|
||||
};
|
||||
};
|
||||
xdg.portal.enable = true;
|
||||
xdg.mime = let
|
||||
emacs = ["emacsclient.desktop" "emacs.desktop"];
|
||||
browser = ["firefox.desktop"];
|
||||
applications = {
|
||||
"inode/directory" = ["thunar.desktop"];
|
||||
"inode/symlink" = ["thunar.desktop"];
|
||||
|
||||
"image/jpeg" = ["swayimg.desktop"];
|
||||
"image/png" = ["swayimg.desktop"];
|
||||
"video/mp4" = ["mpv.desktop"];
|
||||
|
||||
"text/plain" = emacs;
|
||||
"text/richtext" = emacs;
|
||||
"text/org" = emacs;
|
||||
"text/markdown" = emacs;
|
||||
"text/rust" = emacs;
|
||||
"text/csv" = emacs;
|
||||
"text/html" = emacs;
|
||||
"text/css" = emacs;
|
||||
"text/tab-separated-values" = emacs;
|
||||
|
||||
"text/x-emacs-lisp" = emacs;
|
||||
"text/x-fortran" = emacs;
|
||||
"text/x-idl" = emacs;
|
||||
"text/x-log" = emacs;
|
||||
"text/x-lua" = emacs;
|
||||
"text/x-makefile" = emacs;
|
||||
"text/x-python" = emacs;
|
||||
"text/x-python3" = emacs;
|
||||
"text/x-readme" = emacs;
|
||||
"text/x-scheme" = emacs;
|
||||
"text/x-tex" = emacs;
|
||||
"text/x-texinfo" = emacs;
|
||||
|
||||
"application/json" = emacs;
|
||||
"application/toml" = emacs;
|
||||
"application/yaml" = emacs;
|
||||
"application/xml" = emacs;
|
||||
"application/rss+xml" = emacs;
|
||||
"application/xhtml+xml" = emacs;
|
||||
"application/oxps" = emacs;
|
||||
"application/x-shellscript" = emacs;
|
||||
|
||||
"application/pdf" = ["org.pwmt.zathura.desktop"];
|
||||
"application/epub+zip" = ["org.pwmt.zathura.desktop"];
|
||||
"application/msword" = ["writer.desktop"];
|
||||
"application/zip" = ["xarchiver.desktop"];
|
||||
|
||||
"application/x-extension-htm" = browser;
|
||||
"application/x-extension-html" = browser;
|
||||
"application/x-extension-shtml" = browser;
|
||||
"application/x-extension-xhtml" = browser;
|
||||
"application/x-extension-xht" = browser;
|
||||
"application/x-mozilla-bookmarks" = browser;
|
||||
|
||||
"x-scheme-handler/http" = browser;
|
||||
"x-scheme-handler/https" = browser;
|
||||
"x-scheme-handler/about" = browser;
|
||||
"x-scheme-handler/chrome" = browser;
|
||||
"x-scheme-handler/webcal" = browser;
|
||||
"x-scheme-handler/unknown" = emacs;
|
||||
|
||||
"x-scheme-handler/ms-word" = ["writer.desktop"];
|
||||
"x-scheme-handler/ms-powerpoint" = ["impress.desktop"];
|
||||
"x-scheme-handler/ms-excel" = ["calc.desktop"];
|
||||
};
|
||||
services.greetd.settings = let
|
||||
command = "Hyprland";
|
||||
in {
|
||||
enable = true;
|
||||
defaultApplications = applications;
|
||||
addedAssociations = applications;
|
||||
removedAssociations = {"x-scheme-handler/zoomus" = browser;};
|
||||
default_session = {inherit command;};
|
||||
initial_session = {inherit command;};
|
||||
};
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
light.enable = true;
|
||||
thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman];
|
||||
};
|
||||
hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{...}: {
|
||||
imports = [./desktop.nix];
|
||||
powerManagement.enable = true;
|
||||
services.auto-cpufreq = {
|
||||
enable = true;
|
||||
|
|
7
system/river.nix
Normal file
7
system/river.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{...}: {
|
||||
imports = [./desktop.nix];
|
||||
programs.river = {
|
||||
enable = true;
|
||||
extraPackages = [];
|
||||
};
|
||||
}
|
19
system/sway.nix
Normal file
19
system/sway.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
package =
|
||||
pkgs.swayfx.overrideAttrs
|
||||
(old: {passthru.providedSessions = ["sway"];});
|
||||
wrapperFeatures.gtk = true;
|
||||
};
|
||||
services.greetd.settings = let
|
||||
command = "${config.programs.sway.package}/bin/sway";
|
||||
in {
|
||||
default_session = {inherit command;};
|
||||
initial_session = {inherit command;};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue