Reformat all using alejandra

This commit is contained in:
Evie Litherland-Smith 2024-01-30 14:21:50 +00:00
parent 6ed7892356
commit 09df446bd7
46 changed files with 499 additions and 441 deletions

109
flake.nix
View file

@ -13,34 +13,50 @@
};
};
outputs = { nixpkgs, home-manager, stylix, ... }:
let
outputs = {
nixpkgs,
home-manager,
stylix,
...
}: let
default = {
hostName = "Atlas";
user = "xenia";
system = "x86_64-linux";
group = "users";
shell = "fish";
systemModules = [ ./system/hyprland.nix ];
serviceModules = [ ];
homeModules = [ ./home/hyprland/default.nix ];
systemModules = [./system/hyprland.nix];
serviceModules = [];
homeModules = [./home/hyprland/default.nix];
stateVersion = "23.05";
};
systemConfig = { hostName ? default.hostName, user ? default.user
, system ? default.system, group ? default.group, shell ? default.shell
, systemModules ? default.systemModules
, serviceModules ? default.serviceModules
, homeModules ? default.homeModules, stateVersion ? default.stateVersion
}:
let specialArgs = { inherit hostName user; };
in nixpkgs.lib.nixosSystem {
systemConfig = {
hostName ? default.hostName,
user ? default.user,
system ? default.system,
group ? default.group,
shell ? default.shell,
systemModules ? default.systemModules,
serviceModules ? default.serviceModules,
homeModules ? default.homeModules,
stateVersion ? default.stateVersion,
}: let
specialArgs = {inherit hostName user;};
in
nixpkgs.lib.nixosSystem {
inherit system specialArgs;
modules = [
modules =
[
./hosts/${hostName}/configuration.nix
./hosts/${hostName}/hardware-configuration.nix
home-manager.nixosModules.home-manager
stylix.nixosModules.stylix
({ config, lib, pkgs, ... }: {
({
config,
lib,
pkgs,
...
}: {
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
@ -61,8 +77,8 @@
nix = {
enable = true;
settings = {
trusted-users = [ "root" user ];
experimental-features = [ "nix-command" "flakes" ];
trusted-users = ["root" user];
experimental-features = ["nix-command" "flakes"];
auto-optimise-store = true;
};
channel.enable = true;
@ -108,7 +124,7 @@
"steam-run"
"nomachine-client"
];
system = { inherit stateVersion; };
system = {inherit stateVersion;};
networking = {
inherit hostName;
firewall.enable = true;
@ -121,11 +137,9 @@
fish.enable = true;
};
image = ./wallpapers/space.png;
base16Scheme =
"${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
override = {
scheme =
"Catppuccin Mocha, using fg and bg colours from emacs modus-vivdendi-tinted";
scheme = "Catppuccin Mocha, using fg and bg colours from emacs modus-vivdendi-tinted";
base00 = "0d0e1c";
base01 = "1d2235";
base04 = "c6daff";
@ -148,7 +162,7 @@
monospace = {
name = "Iosevka Nerd Font";
package =
(pkgs.nerdfonts.override { fonts = [ "Iosevka" ]; });
pkgs.nerdfonts.override {fonts = ["Iosevka"];};
};
emoji = {
name = "Noto Color Emoji";
@ -159,7 +173,7 @@
};
fonts = {
packages = with pkgs; [
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
(nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];})
emacs-all-the-icons-fonts
weather-icons
noto-fonts
@ -176,26 +190,24 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ/ZSSCN5sqrA+tdoIZr5EUm5DRuBV4dQ7J+QBEtUwUU xenia@Northstar"
];
in {
root.openssh = { inherit authorizedKeys; };
root.openssh = {inherit authorizedKeys;};
${user} = {
inherit group;
isNormalUser = true;
description = "Evie Litherland-Smith";
extraGroups =
[ "networkmanager" "wheel" "video" "input" "uinput" ];
extraGroups = ["networkmanager" "wheel" "video" "input" "uinput"];
shell = pkgs.${shell};
initialHashedPassword =
"$y$j9T$tHIPQt09Kf3KH2eIRze3g/$2mwSlcq27DTGvHNPJ5EP9/1CfL3bXP0F6oS/Vuffmn3";
openssh = { inherit authorizedKeys; };
initialHashedPassword = "$y$j9T$tHIPQt09Kf3KH2eIRze3g/$2mwSlcq27DTGvHNPJ5EP9/1CfL3bXP0F6oS/Vuffmn3";
openssh = {inherit authorizedKeys;};
};
};
home-manager = {
extraSpecialArgs = { inherit hostName; };
extraSpecialArgs = {inherit hostName;};
useGlobalPkgs = true;
useUserPackages = true;
users = {
root = {
imports = [ ./home/default.nix ];
imports = [./home/default.nix];
home = {
inherit stateVersion;
username = "root";
@ -208,9 +220,9 @@
homeDirectory = "/home/${user}";
in {
imports =
[ ./hosts/${hostName}/home.nix ./home/default.nix ]
[./hosts/${hostName}/home.nix ./home/default.nix]
++ homeModules;
home = { inherit username homeDirectory stateVersion; };
home = {inherit username homeDirectory stateVersion;};
programs.home-manager.enable = true;
xdg.userDirs = {
enable = true;
@ -223,20 +235,22 @@
};
};
})
] ++ systemModules ++ serviceModules;
]
++ systemModules
++ serviceModules;
};
in {
nixosConfigurations = {
## Server
Legion = let
hostName = "Legion";
user = "xenia";
system = "x86_64-linux";
in systemConfig {
in
systemConfig {
inherit hostName user system;
systemModules = [ ./system/default.nix ];
systemModules = [./system/default.nix];
serviceModules = [
./services/adguardhome.nix
./services/caddy.nix
@ -246,7 +260,7 @@
./services/sshd.nix
./services/syncthing.nix
];
homeModules = [ ./home/default.nix ];
homeModules = [./home/default.nix];
};
## Personal
@ -255,18 +269,20 @@
hostName = "Northstar";
user = "xenia";
system = "x86_64-linux";
in systemConfig {
in
systemConfig {
inherit hostName user system;
systemModules = default.systemModules ++ [ ./system/games.nix ];
systemModules = default.systemModules ++ [./system/games.nix];
};
Vanguard = let
hostName = "Vanguard";
user = "xenia";
system = "x86_64-linux";
in systemConfig {
in
systemConfig {
inherit hostName user system;
systemModules = default.systemModules ++ [ ./system/games.nix ];
systemModules = default.systemModules ++ [./system/games.nix];
};
## Work
@ -275,14 +291,15 @@
hostName = "Ronin";
user = "elitherl";
system = "x86_64-linux";
in systemConfig { inherit hostName user system; };
in
systemConfig {inherit hostName user system;};
Scorch = let
hostName = "Scorch";
user = "elitherl";
system = "x86_64-linux";
in systemConfig { inherit hostName user system; };
in
systemConfig {inherit hostName user system;};
};
};
}

View file

@ -1 +1 @@
{ ... }: { imports = [ ./pass.nix ./email.nix ]; }
{...}: {imports = [./pass.nix ./email.nix];}

View file

@ -1,8 +1,15 @@
{ config, lib, pkgs, hostName, ... }: {
home.packages = with pkgs; [ davmail ];
{
config,
lib,
pkgs,
hostName,
...
}: {
home.packages = with pkgs; [davmail];
accounts.email = {
maildirBasePath = "Mail";
accounts = let realName = "Evie Litherland-Smith";
accounts = let
realName = "Evie Litherland-Smith";
in {
proton = let
host = "127.0.0.1";
@ -21,17 +28,15 @@
port = 1025;
};
address = "e.litherlandsmith@proton.me";
aliases = [ "evie@xenia.me.uk" "evie@litherlandsmith.slmail.me" ];
aliases = ["evie@xenia.me.uk" "evie@litherlandsmith.slmail.me"];
userName = address;
passwordCommand =
"${pkgs.pass}/bin/pass show mbsync/${hostName}/proton | head -n1";
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostName}/proton | head -n1";
mbsync = {
enable = lib.mkDefault accountEnabled;
create = "both";
expunge = "both";
remove = "both";
patterns =
[ "*" "!All Mail" "!Labels*" "!Starred" "!Recovered Messages" ];
patterns = ["*" "!All Mail" "!Labels*" "!Starred" "!Recovered Messages"];
subFolders = "Verbatim";
extraConfig.account.AuthMechs = "LOGIN";
};
@ -44,7 +49,8 @@
};
mu.enable = lib.mkDefault accountEnabled;
};
icloud = let accountEnabled = true;
icloud = let
accountEnabled = true;
in rec {
inherit realName;
primary = lib.mkDefault false;
@ -53,14 +59,13 @@
smtp.host = "smtp.mail.me.com";
address = "e.litherlandsmith@icloud.com";
userName = address;
passwordCommand =
"${pkgs.pass}/bin/pass show mbsync/${hostName}/icloud | head -n1";
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostName}/icloud | head -n1";
mbsync = {
enable = lib.mkDefault accountEnabled;
create = "both";
expunge = "both";
remove = "both";
patterns = [ "*" "!Notes" ];
patterns = ["*" "!Notes"];
subFolders = "Verbatim";
};
msmtp.enable = lib.mkDefault accountEnabled;
@ -83,10 +88,9 @@
port = 1026;
};
address = "evie.litherland-smith@ukaea.uk";
aliases = [ "elitherl@jet.uk" ];
aliases = ["elitherl@jet.uk"];
userName = address;
passwordCommand =
"${pkgs.pass}/bin/pass show mbsync/${hostName}/outlook | head -n1";
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostName}/outlook | head -n1";
mbsync = {
enable = lib.mkDefault accountEnabled;
create = "both";
@ -120,25 +124,25 @@
mbsync = {
enable = true;
groups.inboxes = {
proton = [ "INBOX" ];
icloud = [ "INBOX" ];
outlook = [ "INBOX" ];
proton = ["INBOX"];
icloud = ["INBOX"];
outlook = ["INBOX"];
};
};
};
systemd.user.services = let emailAccounts = config.accounts.email.accounts;
systemd.user.services = let
emailAccounts = config.accounts.email.accounts;
in {
protonmail-bridge = lib.mkIf emailAccounts.proton.mbsync.enable {
Unit = {
Description = "Podman container-protonmail-bridge.service";
Documentation = [ "man:podman-generate-systemd(1)" ];
Wants = [ "network-online.target" ];
After = [ "network-online.target" ];
Documentation = ["man:podman-generate-systemd(1)"];
Wants = ["network-online.target"];
After = ["network-online.target"];
RequiresMountsFor = "%t/containers";
};
Service = {
Environment =
[ "PODMAN_SYSTEMD_UNIT=%n" "PATH=/run/wrappers/bin/:$PATH" ];
Environment = ["PODMAN_SYSTEMD_UNIT=%n" "PATH=/run/wrappers/bin/:$PATH"];
Restart = "always";
TimeoutStopSec = 70;
ExecStart = ''
@ -165,26 +169,23 @@
Type = "notify";
NotifyAccess = "all";
};
Install.WantedBy = [ "default.target" ];
Install.WantedBy = ["default.target"];
};
davmail = lib.mkIf emailAccounts.outlook.mbsync.enable {
Unit = {
Description = "Davmail server";
Wants = [ "network-online.target" ];
After = [ "network-online.target" ];
Wants = ["network-online.target"];
After = ["network-online.target"];
};
Service = {
Environment = [ "PATH=/run/current-system/sw/bin/:$PATH" ];
Environment = ["PATH=/run/current-system/sw/bin/:$PATH"];
Restart = "always";
ExecStartPre = with config.home; ''
/bin/sh -c "if [ ! -f ${homeDirectory}/.davmail.properties ]; then cp ${
./.davmail.properties
} ${homeDirectory}/.davmail.properties; fi; chmod 644 ${homeDirectory}/.davmail.properties"
/bin/sh -c "if [ ! -f ${homeDirectory}/.davmail.properties ]; then cp ${./.davmail.properties} ${homeDirectory}/.davmail.properties; fi; chmod 644 ${homeDirectory}/.davmail.properties"
'';
ExecStart =
"${pkgs.davmail}/bin/davmail -notray ${config.home.homeDirectory}/.davmail.properties";
ExecStart = "${pkgs.davmail}/bin/davmail -notray ${config.home.homeDirectory}/.davmail.properties";
};
Install.WantedBy = [ "default.target" ];
Install.WantedBy = ["default.target"];
};
};
}

View file

@ -1,12 +1,18 @@
{ config, lib, pkgs, ... }: {
{
config,
lib,
pkgs,
...
}: {
xdg.configFile."pass-git-helper/git-pass-mapping.ini".source =
./git-pass-mapping.ini;
programs = {
gpg.enable = true;
password-store = {
enable = true;
package = pkgs.pass-nodmenu.withExtensions
(exts: with exts; [ pass-otp pass-update pass-audit pass-import ]);
package =
pkgs.pass-nodmenu.withExtensions
(exts: with exts; [pass-otp pass-update pass-audit pass-import]);
settings = {
PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store";
PASSWORD_STORE_ENABLE_EXTENSIONS = "true";

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
# TODO: ipython config file
xdg.configFile = {
"bat/themes/Catppuccin-mocha.tmTheme".source = ./Catppuccin-mocha.tmTheme;

View file

@ -1,5 +1,5 @@
{ lib, ... }: {
imports = [ ./config/default.nix ./scripts/default.nix ];
{lib, ...}: {
imports = [./config/default.nix ./scripts/default.nix];
stylix.targets = {
avizo.enable = true;
firefox.enable = true;
@ -22,8 +22,7 @@
table_header_color = "#f5e0dc";
all_cpu_color = "#f5e0dc";
avg_cpu_color = "#eba0ac";
cpu_core_colors =
[ "#f38ba8" "#fab387" "#f9e2af" "#a6e3a1" "#74c7ec" "#cba6f7" ];
cpu_core_colors = ["#f38ba8" "#fab387" "#f9e2af" "#a6e3a1" "#74c7ec" "#cba6f7"];
ram_color = "#a6e3a1";
swap_color = "#fab387";
rx_color = "#a6e3a1";
@ -39,8 +38,7 @@
high_battery_color = "#a6e3a1";
medium_battery_color = "#f9e2af";
low_battery_color = "#f38ba8";
gpu_core_colors =
[ "#74c7ec" "#cba6f7" "#f38ba8" "#fab387" "#f9e2af" "#a6e3a1" ];
gpu_core_colors = ["#74c7ec" "#cba6f7" "#f38ba8" "#fab387" "#f9e2af" "#a6e3a1"];
arc_color = "#89dceb";
};
};
@ -49,7 +47,7 @@
git = true;
icons = true;
enableAliases = true;
extraOptions = [ "--octal-permissions" ];
extraOptions = ["--octal-permissions"];
};
readline = {
enable = true;
@ -126,9 +124,9 @@
enableFishIntegration = true;
enableTransience = true;
settings = {
c = { symbol = " "; };
c = {symbol = " ";};
command_timeout = 1000;
container = { symbol = " "; };
container = {symbol = " ";};
add_newline = false;
character = {
success_symbol = "[!](bold green)";
@ -144,7 +142,7 @@
git_branch = {
symbol = " ";
only_attached = true;
ignore_branches = [ "master" "main" ];
ignore_branches = ["master" "main"];
};
git_commit = {
format = "[󰜘 $hash | $tag]($style) ";
@ -166,16 +164,16 @@
untracked = " ";
typechanged = " ";
};
golang = { symbol = " "; };
guix_shell = { symbol = " "; };
haskell = { symbol = " "; };
golang = {symbol = " ";};
guix_shell = {symbol = " ";};
haskell = {symbol = " ";};
hostname = {
ssh_only = true;
ssh_symbol = "󰢹 ";
};
java = { symbol = " "; };
localip = { disabled = false; };
lua = { symbol = " "; };
java = {symbol = " ";};
localip = {disabled = false;};
lua = {symbol = " ";};
memory_usage = {
disabled = false;
symbol = "󰍛 ";
@ -214,12 +212,12 @@
Windows = " ";
};
};
package = { symbol = "󰏗 "; };
package = {symbol = "󰏗 ";};
python = {
symbol = "󰌠 ";
python_binary = "python3";
};
rust = { symbol = "󱘗 "; };
rust = {symbol = "󱘗 ";};
shell = {
disabled = false;
format = "using [$indicator ]($style)";
@ -228,7 +226,7 @@
powershell_indicator = "󰨊 ";
unknown_indicator = "󱔢 ";
};
status = { };
status = {};
sudo = {
disabled = false;
symbol = "󰪋 ";

View file

@ -1,4 +1,8 @@
{ config, pkgs, ... }: {
{
config,
pkgs,
...
}: {
programs.emacs = {
# Clone emacs config from https://git.xenia.me.uk/xenia/emacs.git
enable = true;
@ -113,7 +117,7 @@
imagemagick
languagetool
wordnet
(aspellWithDicts (ds: with ds; [ en en-computers en-science ]))
(aspellWithDicts (ds: with ds; [en en-computers en-science]))
# For org-plot
gnuplot
@ -131,8 +135,17 @@
# Customised LaTeX install
# texlive.combined.scheme-full
(texlive.combine {
inherit (pkgs.texlive)
scheme-basic dvisvgm dvipng wrapfig amsmath ulem hyperref capt-of;
inherit
(pkgs.texlive)
scheme-basic
dvisvgm
dvipng
wrapfig
amsmath
ulem
hyperref
capt-of
;
})
# Linters

View file

@ -1,6 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
programs.eww = {
enable = true;
package = pkgs.eww-wayland;

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
stylix.targets.firefox.profileNames = [ "default" ];
{pkgs, ...}: {
stylix.targets.firefox.profileNames = ["default"];
programs.firefox = {
enable = true;
package = null; # Use system Firefox
@ -44,14 +44,12 @@
search = {
default = "DuckDuckGo";
force = true;
order = [ "DuckDuckGo" ];
order = ["DuckDuckGo"];
engines = {
"MyNixOS" = {
urls =
[{ template = "https://mynixos.com/search?q={searchTerms}"; }];
icon =
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@mn" ];
urls = [{template = "https://mynixos.com/search?q={searchTerms}";}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@mn"];
};
};
};

View file

@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
{
config,
lib,
pkgs,
...
}: {
imports = [
../default.nix
../accounts/default.nix
@ -34,7 +39,7 @@
urgent = true;
notify = true;
};
mouse = { hide-when-typing = "yes"; };
mouse = {hide-when-typing = "yes";};
};
};
gtk = {
@ -50,7 +55,7 @@
};
theme = {
package = pkgs.catppuccin-gtk.override {
accents = [ "lavender" ];
accents = ["lavender"];
size = "standard";
variant = "mocha";
};
@ -58,7 +63,7 @@
};
};
xdg.configFile = {
"hypr/extra.conf" = lib.mkDefault { text = ""; };
"hypr/extra.conf" = lib.mkDefault {text = "";};
"hypr/hyprpaper.conf".text = ''
preload = ${config.stylix.image}
wallpaper = ,${config.stylix.image}
@ -69,7 +74,7 @@
xwayland.enable = true;
systemd.enable = true;
settings = {
monitor = [ ",preferred,auto,auto" ];
monitor = [",preferred,auto,auto"];
env = with config; [
"XDG_CURRENT_DESKTOP=Hyprland"
"XDG_SESSION_TYPE=wayland"
@ -165,7 +170,8 @@
"notifications"
"swaync-.*"
];
in (lib.lists.forEach layers blur)
in
(lib.lists.forEach layers blur)
++ (lib.lists.forEach layers ignorealpha);
windowrule = [
# Float + move system windows
@ -213,8 +219,10 @@
"SUPER, ${toString w}, workspace, ${toString w}"
"SUPER SHIFT, ${toString w}, movetoworkspace, ${toString w}"
];
in with lib.lists;
flatten (forEach (range 1 9) workspace) ++ [
in
with lib.lists;
flatten (forEach (range 1 9) workspace)
++ [
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
"SUPER, F1, exec, ${pkgs.swaylock-effects}/bin/swaylock --screenshots --clock --indicator --grace-no-mouse"
"SUPER, Q, killactive,"
@ -234,9 +242,7 @@
"SUPER, Return, exec, foot"
"SUPER SHIFT, Return, exec, emacsclient -c"
"SUPER, S, exec, foot -e btm --group --battery"
"SUPER, W, exec, nyxt --no-socket --with-file bookmarks=${
../nyxt/bookmarks.lisp
}"
"SUPER, W, exec, nyxt --no-socket --with-file bookmarks=${../nyxt/bookmarks.lisp}"
"SUPER, F, exec, thunar $HOME"
# Misc useful binds

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
home.packages = [ pkgs.nyxt ];
{pkgs, ...}: {
home.packages = [pkgs.nyxt];
xdg.configFile."nyxt/config.lisp".source = ./config.lisp;
}

View file

@ -1,6 +1,6 @@
{ pkgs, ... }: {
{pkgs, ...}: {
xdg.configFile."obs-studio/themes".source = ./themes;
home.packages = with pkgs; [ helvum ];
home.packages = with pkgs; [helvum];
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [

View file

@ -1,4 +1,11 @@
{ stdenvNoCC, fetchFromGitHub, gtk3, libsForQt5, gnome, hicolor-icon-theme }:
{
stdenvNoCC,
fetchFromGitHub,
gtk3,
libsForQt5,
gnome,
hicolor-icon-theme,
}:
stdenvNoCC.mkDerivation rec {
pname = "candy-icon-theme";
version = "6a35be5cb133c6be8314807f55da3d795e24fb86";
@ -11,10 +18,9 @@ stdenvNoCC.mkDerivation rec {
sha256 = "sha256-M58ts/xyVf+ZDidd4MEp/LlU3vk2imEwOnb0/sVJUYo=";
};
nativeBuildInputs = [ gtk3 ];
nativeBuildInputs = [gtk3];
buildInputs =
[ libsForQt5.breeze-icons gnome.adwaita-icon-theme hicolor-icon-theme ];
buildInputs = [libsForQt5.breeze-icons gnome.adwaita-icon-theme hicolor-icon-theme];
dontDropIconThemeCache = true;

View file

@ -1,5 +1,13 @@
{ stdenvNoCC, fetchFromGitHub, gtk3, candy-icon-theme, gnome-icon-theme
, ubuntu-themes, cinnamon, elementary-xfce-icon-theme }:
{
stdenvNoCC,
fetchFromGitHub,
gtk3,
candy-icon-theme,
gnome-icon-theme,
ubuntu-themes,
cinnamon,
elementary-xfce-icon-theme,
}:
stdenvNoCC.mkDerivation rec {
pname = "sweet-folder-theme";
version = "b2192ff1412472f036fdf9778c6b9dbcb6c044ec";
@ -12,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
sha256 = "sha256-QexfqXH5a1IEhKBRjWSMdrEvThvLRzd4M32Xti1DCGE=";
};
nativeBuildInputs = [ gtk3 ];
nativeBuildInputs = [gtk3];
buildInputs = [
candy-icon-theme

View file

@ -1,4 +1,8 @@
{ config, pkgs, ... }: {
{
config,
pkgs,
...
}: {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
@ -11,8 +15,8 @@
USERNAME_field='login'
'';
};
extraConfig =
let power-menu = "power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu";
extraConfig = let
power-menu = "power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu";
in {
modi = "window,run,drun,ssh,${power-menu},combi";
combi-modi = "window,drun,ssh";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
home.packages = [
(pkgs.writeShellScriptBin "nixos-update"
(builtins.readFile ./nixos-update.sh))

View file

@ -1,4 +1,8 @@
{ config, pkgs, ... }: {
{
config,
pkgs,
...
}: {
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
@ -9,9 +13,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 = with config.wayland.windowManager.hyprland.settings.decoration.blur; "${toString size}x${toString passes}";
effect-vignette = "0.5:0.5";
fade-in = 0.2;
};

View file

@ -1 +1 @@
{ ... }: { xdg.configFile."swaync/style.css".source = ./style.css; }
{...}: {xdg.configFile."swaync/style.css".source = ./style.css;}

View file

@ -1,7 +1,11 @@
{ config, pkgs, ... }: {
{
config,
pkgs,
...
}: {
systemd.user.targets.tray.Unit = {
Description = "Home Manager System Tray";
Requires = [ "graphical-session-pre.target" ];
Requires = ["graphical-session-pre.target"];
};
programs.waybar = {
enable = true;
@ -14,8 +18,8 @@
layer = "top";
position = "top";
# Layout
"modules-left" = [ "hyprland/window" "mpris" ];
"modules-center" = [ "hyprland/workspaces" ];
"modules-left" = ["hyprland/window" "mpris"];
"modules-center" = ["hyprland/workspaces"];
"modules-right" = [
"custom/notification"
"pulseaudio"
@ -26,7 +30,7 @@
"tray"
];
# Module config
"custom/separator" = { format = "|"; };
"custom/separator" = {format = "|";};
"hyprland/window" = {
"format" = "{title}";
# TODO workspace rewrites
@ -54,19 +58,19 @@
show-special = false;
sort-by = "id";
persistent-workspaces = {
"1" = [ ];
"2" = [ ];
"3" = [ ];
"4" = [ ];
"5" = [ ];
"6" = [ ];
"1" = [];
"2" = [];
"3" = [];
"4" = [];
"5" = [];
"6" = [];
};
};
mpris = {
"format" = "> {player_icon} {player}";
"tooltip-format" = "{player_icon} ({player}) {dynamic}";
"interval" = 1;
"dynamic-order" = [ "album" "artist" "title" "position" "length" ];
"dynamic-order" = ["album" "artist" "title" "position" "length"];
"player-icons" = {
"default" = "󰲸 ";
"emms" = " ";
@ -78,7 +82,7 @@
"paused" = "󰏤";
"stopped" = "󰓛";
};
"ignored-players" = [ ];
"ignored-players" = [];
};
pulseaudio = {
scroll-step = 5;
@ -88,7 +92,7 @@
format-source-muted = "󰍭";
format-icons = {
car = "󰄍";
default = [ "󰕿" "󰖀" "󰕾" ];
default = ["󰕿" "󰖀" "󰕾"];
hands-free = "󰥰";
headset = "󰋎";
phone = "󰏲";
@ -109,11 +113,11 @@
format = "󰻠 {usage}%";
tooltip = false;
};
memory = { format = "󰍛 {}%"; };
memory = {format = "󰍛 {}%";};
temperature = {
critical-threshold = 80;
format = "{icon} {temperatureC}°C";
format-icons = [ "󱃃" "󰔏" "󱃂" ];
format-icons = ["󱃃" "󰔏" "󱃂"];
};
clock = {
format = "{:󰃭 %Y-%m-%d 󰥔 %R}";
@ -142,7 +146,7 @@
backlight = {
format = "{icon} ";
tooltip-format = "{percent}%";
format-icons = [ "" "" "" "" "" "" "" "" "" ];
format-icons = ["" "" "" "" "" "" "" "" ""];
};
battery = {
states = {
@ -153,9 +157,10 @@
format-charging = "󰂄 ";
format-plugged = "󰚥 ";
tooltip-format = "{capacity}% {time}";
format-icons = [ "󱃍" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
format-icons = ["󱃍" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
};
"custom/notification" = let swaync = pkgs.swaynotificationcenter;
"custom/notification" = let
swaync = pkgs.swaynotificationcenter;
in {
"tooltip" = false;
"format" = "{icon}{}";

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
users.mutableUsers = false;
system.autoUpgrade = {
enable = true;

View file

@ -1 +1 @@
{ }
{}

View file

@ -1 +1,5 @@
{ config, pkgs, ... }: { }
{
config,
pkgs,
...
}: {}

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
wayland.windowManager.hyprland.settings.monitor = [
"eDP-1,preferred,0x0,1.00"
"desc:Acer Technologies ED270R TJMEE0043W01,highrr,-192x-1080,1.00"

View file

@ -1,17 +1,15 @@
{ pkgs, ... }: {
{pkgs, ...}: {
# Setup keyfile
boot.initrd.secrets = { "/crypto_keyfile.bin" = null; };
boot.initrd.secrets = {"/crypto_keyfile.bin" = null;};
# Enable swap on luks
boot.initrd.luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd".device =
"/dev/disk/by-uuid/761eeb11-3091-4142-9232-4fb33165eccd";
boot.initrd.luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd".keyFile =
"/crypto_keyfile.bin";
boot.initrd.luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd".device = "/dev/disk/by-uuid/761eeb11-3091-4142-9232-4fb33165eccd";
boot.initrd.luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd".keyFile = "/crypto_keyfile.bin";
environment = {
etc."ppp/options".text = ''
ipcp-accept-remote
'';
systemPackages = with pkgs; [ openfortivpn samba nomachine-client ];
systemPackages = with pkgs; [openfortivpn samba nomachine-client];
};
}

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
programs.git.userEmail = "evie.litherland-smith@ukaea.uk";
accounts.email.accounts = {
proton.primary = false;

View file

@ -1,19 +1,17 @@
{ pkgs, ... }: {
{pkgs, ...}: {
boot.loader.efi.efiSysMountPoint = "/boot/efi";
# Setup keyfile
boot.initrd.secrets = { "/crypto_keyfile.bin" = null; };
boot.initrd.secrets = {"/crypto_keyfile.bin" = null;};
# Enable swap on luks
boot.initrd.luks.devices."luks-47d34268-5100-4eba-b34d-220f4239c1cb".device =
"/dev/disk/by-uuid/47d34268-5100-4eba-b34d-220f4239c1cb";
boot.initrd.luks.devices."luks-47d34268-5100-4eba-b34d-220f4239c1cb".keyFile =
"/crypto_keyfile.bin";
boot.initrd.luks.devices."luks-47d34268-5100-4eba-b34d-220f4239c1cb".device = "/dev/disk/by-uuid/47d34268-5100-4eba-b34d-220f4239c1cb";
boot.initrd.luks.devices."luks-47d34268-5100-4eba-b34d-220f4239c1cb".keyFile = "/crypto_keyfile.bin";
environment = {
etc."ppp/options".text = ''
ipcp-accept-remote
'';
systemPackages = with pkgs; [ openfortivpn samba nomachine-client ];
systemPackages = with pkgs; [openfortivpn samba nomachine-client];
};
}

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
programs.git.userEmail = "evie.litherland-smith@ukaea.uk";
accounts.email.accounts = {
proton.primary = false;
@ -6,6 +6,6 @@
};
wayland.windowManager.hyprland.settings = {
misc.force_default_wallpaper = 0;
monitor = [ "desc:Dell Inc. DELL P3223QE CCG8YN3,highres,0x0,1.5" ];
monitor = ["desc:Dell Inc. DELL P3223QE CCG8YN3,highres,0x0,1.5"];
};
}

View file

@ -1,9 +1,13 @@
{ config, pkgs, ... }: {
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
{
config,
pkgs,
...
}: {
boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
boot.extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
hardware.opengl.driSupport32Bit = true;
hardware.opengl.extraPackages = with pkgs; [ amdvlk rocmPackages.clr.icd ];
hardware.opengl.extraPackages32 = [ pkgs.driversi686Linux.amdvlk ];
hardware.opengl.extraPackages = with pkgs; [amdvlk rocmPackages.clr.icd];
hardware.opengl.extraPackages32 = [pkgs.driversi686Linux.amdvlk];
}

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
wayland.windowManager.hyprland.settings.monitor = [
"desc:Acer Technologies ED270R TJMEE0043W01,highrr,0x0,1.00,vrr,2"
"desc:Ancor Communications Inc VS278 FALMQS032358,preferred,-1920x0,1.00,vrr,0"

View file

@ -1,14 +1,17 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
services.adguardhome = {
enable = true;
mutableSettings = false;
settings = rec {
http.address = "0.0.0.0:3200";
dns = {
bind_hosts = [ "127.0.0.1" "192.168.1.230" ];
bootstrap_dns = [ "9.9.9.9" "149.112.112.10" ];
bind_hosts = ["127.0.0.1" "192.168.1.230"];
bootstrap_dns = ["9.9.9.9" "149.112.112.10"];
ratelimit = 0;
safe_search.enabled = true;
rewrites = [
@ -21,20 +24,20 @@
answer = "192.168.1.230";
}
];
blocked_services.ids = [ ];
blocked_services.ids = [];
};
filtering = { inherit (dns) safe_search rewrites blocked_services; };
filtering = {inherit (dns) safe_search rewrites blocked_services;};
querylog.ignored = [
"discovery.syncthing.net"
"discovery-v6.syncthing.net"
"matrix.tchncs.de"
];
statistics = { inherit (querylog) ignored; };
statistics = {inherit (querylog) ignored;};
};
openFirewall = true;
};
networking.firewall = {
allowedTCPPorts = [ 53 ];
allowedUDPPorts = [ 53 ];
allowedTCPPorts = [53];
allowedUDPPorts = [53];
};
}

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [ steamcmd ];
networking.firewall.allowedTCPPorts = [ 8777 ];
services.caddy.virtualHosts."astro.xenia.me.uk".extraConfig =
"reverse_proxy http://localhost:8777";
{pkgs, ...}: {
environment.systemPackages = with pkgs; [steamcmd];
networking.firewall.allowedTCPPorts = [8777];
services.caddy.virtualHosts."astro.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:8777";
}

View file

@ -1,5 +1,5 @@
{ ... }: {
networking.firewall.allowedTCPPorts = [ 80 443 ];
{...}: {
networking.firewall.allowedTCPPorts = [80 443];
services.caddy = {
enable = true;
email = "evie@xenia.me.uk";
@ -11,7 +11,7 @@
};
services.fail2ban = {
enable = true;
ignoreIP = [ "127.0.0.1/8" "::1" "192.168.1.0/16" ];
bantime-increment = { enable = true; };
ignoreIP = ["127.0.0.1/8" "::1" "192.168.1.0/16"];
bantime-increment = {enable = true;};
};
}

View file

@ -1,5 +1,5 @@
{ ... }: {
imports = [ ./caddy.nix ];
{...}: {
imports = [./caddy.nix];
services.gitea = {
enable = true;
settings = {
@ -18,6 +18,5 @@
};
appName = "Gitea";
};
services.caddy.virtualHosts."git.xenia.me.uk".extraConfig =
"reverse_proxy http://localhost:3100";
services.caddy.virtualHosts."git.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:3100";
}

View file

@ -1,5 +1,5 @@
{ ... }: {
imports = [ ./caddy.nix ];
{...}: {
imports = [./caddy.nix];
services.grafana = {
enable = true;
settings = {
@ -16,16 +16,16 @@
exporters = {
node = {
enable = true;
enabledCollectors = [ "systemd" ];
enabledCollectors = ["systemd"];
port = 9002;
};
};
scrapeConfigs = [{
scrapeConfigs = [
{
job_name = "legion";
static_configs =
[{ targets = [ "127.0.0.1:${toString exporters.node.port}" ]; }];
}];
static_configs = [{targets = ["127.0.0.1:${toString exporters.node.port}"];}];
}
];
};
services.caddy.virtualHosts."grafana.xenia.me.uk".extraConfig =
"reverse_proxy http://localhost:3000";
services.caddy.virtualHosts."grafana.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:3000";
}

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
imports = [ ./caddy.nix ];
{pkgs, ...}: {
imports = [./caddy.nix];
services.postgresql.enable = true;
services.postgresql.initialScript = pkgs.writeText "synapse-init.sql" ''
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
@ -13,18 +13,22 @@
matrix-synapse = {
enable = true;
settings.server_name = "xenia.me.uk";
settings.listeners = [{
bind_addresses = [ "127.0.0.1" ];
settings.listeners = [
{
bind_addresses = ["127.0.0.1"];
port = 8008;
type = "http";
tls = false;
x_forwarded = true;
resources = [{
names = [ "client" "federation" ];
resources = [
{
names = ["client" "federation"];
compress = true;
}];
}];
extraConfigFiles = [ "/run/secrets/matrix-shared-secret" ];
}
];
}
];
extraConfigFiles = ["/run/secrets/matrix-shared-secret"];
};
caddy.virtualHosts."xenia.me.uk".extraConfig = ''
header /.well-known/matrix/* Content-Type application/json

View file

@ -1,6 +1,6 @@
{ pkgs, ... }: {
imports = [ ./caddy.nix ];
environment.systemPackages = with pkgs; [ ffmpeg ];
{pkgs, ...}: {
imports = [./caddy.nix];
environment.systemPackages = with pkgs; [ffmpeg];
services = {
navidrome = {
enable = true;
@ -10,7 +10,6 @@
MusicFolder = "/media/music";
};
};
caddy.virtualHosts."music.xenia.me.uk".extraConfig =
"reverse_proxy http://localhost:4533";
caddy.virtualHosts."music.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:4533";
};
}

View file

@ -1,7 +1,5 @@
{ ... }:
{
imports = [ ./caddy.nix ];
{...}: {
imports = [./caddy.nix];
services.ntfy-sh = {
enable = true;
settings = {
@ -12,6 +10,5 @@
enable-metrics = true;
};
};
services.caddy.virtualHosts."ntfy.xenia.me.uk".extraConfig =
"reverse_proxy http://localhost:8800";
services.caddy.virtualHosts."ntfy.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:8800";
}

View file

@ -1,9 +1,12 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
services.openssh = {
enable = true;
ports = [ 22 ];
ports = [22];
settings = {
UseDns = true;
PermitRootLogin = "without-password";

View file

@ -1,7 +1,7 @@
{ ... }:
let devices = [ "Ion" "Legion" "Northstar" "Vanguard" ];
{...}: let
devices = ["Ion" "Legion" "Northstar" "Vanguard"];
in {
imports = [ ./caddy.nix ];
imports = [./caddy.nix];
services.syncthing = {
enable = true;
systemService = true;
@ -10,14 +10,10 @@ in {
openDefaultPorts = true;
settings = {
devices = {
"Ion".id =
"7DD4NPH-6T2ET5A-4FCLFWW-CS6UR2W-IO5XQXC-DM5B2Q4-6X7DGU2-UKKVEAB";
"Legion".id =
"3SSNCLP-ZZKNS65-7CKKGFY-KJYQU6S-P5BM7SB-MMW5ZLM-TMND6IV-ZMUO4AQ";
"Northstar".id =
"DJVVFUX-QRJNEUZ-OVEQ63J-KJIGNY7-O4MEOMH-GDKYHOB-BQES3O4-C3BJHQ2";
"Vanguard".id =
"NCJBYBK-JRVFAAN-XO4I5AS-B5L7QD2-5PAMWX7-PHD5FQH-Q2EI32H-U3GF5AA";
"Ion".id = "7DD4NPH-6T2ET5A-4FCLFWW-CS6UR2W-IO5XQXC-DM5B2Q4-6X7DGU2-UKKVEAB";
"Legion".id = "3SSNCLP-ZZKNS65-7CKKGFY-KJYQU6S-P5BM7SB-MMW5ZLM-TMND6IV-ZMUO4AQ";
"Northstar".id = "DJVVFUX-QRJNEUZ-OVEQ63J-KJIGNY7-O4MEOMH-GDKYHOB-BQES3O4-C3BJHQ2";
"Vanguard".id = "NCJBYBK-JRVFAAN-XO4I5AS-B5L7QD2-5PAMWX7-PHD5FQH-Q2EI32H-U3GF5AA";
};
folders = {
"Music" = {

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
environment.systemPackages = [ pkgs.chromium ];
{pkgs, ...}: {
environment.systemPackages = [pkgs.chromium];
programs.chromium = rec {
enable = true;
defaultSearchProviderEnabled = true;
@ -25,7 +25,7 @@
"SyncDisabled" = true;
"PasswordManagerEnabled" = false;
"SpellcheckEnabled" = true;
"SpellcheckLanguage" = [ "en-GB" ];
"SpellcheckLanguage" = ["en-GB"];
"AllowDinosaurEasterEgg" = true;
"AllowSystemNotifications" = true;
"AutoFillEnabled" = false;

View file

@ -1,7 +1,7 @@
{ pkgs, ... }: {
{pkgs, ...}: {
networking = {
networkmanager.enable = true;
nameservers = [ "9.9.9.9" ];
nameservers = ["9.9.9.9"];
};
environment = {
systemPackages = with pkgs; [
@ -38,7 +38,8 @@
};
virtualisation.podman.enable = true;
time.timeZone = "Europe/London";
i18n = let locale = "en_GB.UTF-8";
i18n = let
locale = "en_GB.UTF-8";
in {
# Select internationalisation properties.
defaultLocale = locale;

View file

@ -1,5 +1,9 @@
{ pkgs, user, ... }: {
imports = [ ./default.nix ];
{
pkgs,
user,
...
}: {
imports = [./default.nix];
environment.systemPackages = with pkgs; [
dex
libnotify
@ -15,10 +19,10 @@
hardware.bluetooth.enable = true;
services = {
accounts-daemon.enable = true;
dbus.packages = with pkgs; [ gcr ];
dbus.packages = with pkgs; [gcr];
greetd = {
enable = true;
settings.initial_session = { inherit user; };
settings.initial_session = {inherit user;};
};
pipewire = {
enable = true;

View file

@ -1,7 +1,7 @@
{ ... }: {
{...}: {
programs.firefox = {
enable = true;
languagePacks = [ "en-GB" ];
languagePacks = ["en-GB"];
policies = {
Cookies = {
Behavior = "reject-tracker-and-partition-foreign";
@ -26,19 +26,16 @@
ExtensionSettings = {
"queryamoid@kaply.com" = {
installation_mode = "force_installed";
install_url =
"https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi";
install_url = "https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi";
};
"uBlock0@raymondhill.net" = {
installation_mode = "force_installed";
install_url =
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
};
# Catppuccin Mocha (Lavender) theme
"{8446b178-c865-4f5c-8ccc-1d7887811ae3}" = {
installation_mode = "force_installed";
install_url =
"https://addons.mozilla.org/firefox/downloads/latest/catppuccin-mocha-lavender-git/latest.xpi";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-mocha-lavender-git/latest.xpi";
};
};
FirefoxHome = {
@ -52,7 +49,7 @@
Locked = true;
};
ManagedBookmarks = [
{ toplevel_name = "Managed Bookmarks"; }
{toplevel_name = "Managed Bookmarks";}
{
name = "Server";
children = [
@ -120,9 +117,9 @@
NoDefaultBookmarks = true;
OfferToSaveLogins = false;
PasswordManagerEnabled = false;
PopupBlocking = { Default = true; };
RequestedLocales = [ "en-GB" ];
SearchEngines = { Default = "DuckDuckGo"; };
PopupBlocking = {Default = true;};
RequestedLocales = ["en-GB"];
SearchEngines = {Default = "DuckDuckGo";};
ShowHomeButton = false;
StartDownloadsInTempDirectory = true;
};

View file

@ -1,8 +1,8 @@
{ pkgs, ... }: {
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
prismlauncher
(retroarch.override {
cores = with libretro; [ dolphin mgba mupen64plus ];
cores = with libretro; [dolphin mgba mupen64plus];
})
];
hardware.steam-hardware.enable = true;

View file

@ -1,5 +1,5 @@
{ ... }: {
imports = [ ./desktop.nix ./games.nix ];
{...}: {
imports = [./desktop.nix ./games.nix];
services = {
greetd.settings = let
command = ''
@ -9,8 +9,8 @@
--hide-cursor-delay 5 --steam -- steam -gamepadui
'';
in {
default_session = { inherit command; };
initial_session = { inherit command; };
default_session = {inherit command;};
initial_session = {inherit command;};
};
};
programs.steam.gamescopeSession.enable = true;

View file

@ -1,7 +1,6 @@
{ pkgs, ... }: {
imports = [ ./desktop.nix ./chromium.nix ];
nixpkgs.config.chromium.commandLineArgs =
"--enable-features=UseOzonePlatform --ozone-platform=wayland";
{pkgs, ...}: {
imports = [./desktop.nix ./chromium.nix];
nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
environment = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
@ -35,58 +34,44 @@
webcord
];
};
security.pam.services.swaylock = { };
security.pam.services.swaylock = {};
services = {
blueman.enable = true;
udisks2.enable = true;
gvfs.enable = true;
tumbler.enable = true;
xserver.enable = false;
greetd.settings = let command = "Hyprland";
greetd.settings = let
command = "Hyprland";
in {
default_session = { inherit command; };
initial_session = { inherit command; };
default_session = {inherit command;};
initial_session = {inherit command;};
};
};
xdg.mime = rec {
enable = true;
defaultApplications = {
"application/pdf" = [ "emacsclient.desktop" "emacs.desktop" ];
"application/epub+zip" = [ "emacsclient.desktop" "emacs.desktop" ];
"application/oxps" = [ "emacsclient.desktop" "emacs.desktop" ];
"image/jpeg" =
[ "swayimg.desktop" "emacsclient.desktop" "emacs.desktop" ];
"image/png" = [ "swayimg.desktop" "emacsclient.desktop" "emacs.desktop" ];
"video/mp4" = [ "mpv.desktop" ];
"text/csv" = [ "emacsclient.desktop" "emacs.desktop" ];
"text/html" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"x-scheme-handler/http" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"x-scheme-handler/https" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"x-scheme-handler/about" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"x-scheme-handler/chrome" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-htm" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-html" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-shtml" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/xhtml+xml" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-xhtml" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-extension-xht" =
[ "firefox.desktop" "chromium-browser.desktop" "nyxt.desktop" ];
"application/x-mozilla-bookmarks" =
[ "firefox.desktop" "chromium-browser.desktop" ];
"x-scheme-handler/msteams" =
[ "firefox.desktop" "chromium-browser.desktop" ];
"x-scheme-handler/zoomus" =
[ "firefox.desktop" "chromium-browser.desktop" ];
"application/pdf" = ["emacsclient.desktop" "emacs.desktop"];
"application/epub+zip" = ["emacsclient.desktop" "emacs.desktop"];
"application/oxps" = ["emacsclient.desktop" "emacs.desktop"];
"image/jpeg" = ["swayimg.desktop" "emacsclient.desktop" "emacs.desktop"];
"image/png" = ["swayimg.desktop" "emacsclient.desktop" "emacs.desktop"];
"video/mp4" = ["mpv.desktop"];
"text/csv" = ["emacsclient.desktop" "emacs.desktop"];
"text/html" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"x-scheme-handler/http" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"x-scheme-handler/https" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"x-scheme-handler/about" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"x-scheme-handler/chrome" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"application/x-extension-htm" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"application/x-extension-html" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"application/x-extension-shtml" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"application/xhtml+xml" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"application/x-extension-xhtml" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"application/x-extension-xht" = ["firefox.desktop" "chromium-browser.desktop" "nyxt.desktop"];
"application/x-mozilla-bookmarks" = ["firefox.desktop" "chromium-browser.desktop"];
"x-scheme-handler/msteams" = ["firefox.desktop" "chromium-browser.desktop"];
"x-scheme-handler/zoomus" = ["firefox.desktop" "chromium-browser.desktop"];
};
addedAssociations = defaultApplications;
};
@ -95,7 +80,7 @@
light.enable = true;
thunar = {
enable = true;
plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ];
plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman];
};
hyprland = {
enable = true;