installed and ran alejandra as formatter

This commit is contained in:
Schrottkatze 2023-11-26 21:26:49 +01:00
parent 49452e89db
commit 8a1314b58f
47 changed files with 1362 additions and 1113 deletions

View file

@ -1,6 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
config = {
programs = {
noisetorch.enable = true;
@ -15,19 +18,19 @@
};
hardware.pulseaudio.enable = pkgs.lib.mkForce false;
sound.mediaKeys.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
pavucontrol
pulseaudioFull
easyeffects
cava
volumeicon
pavucontrol
pulseaudioFull
easyeffects
cava
volumeicon
playerctl
];
xsession.windowManager.i3.config.startup = [
{
command = "pkill volumeicon; volumeicon";
always = true;
{
command = "pkill volumeicon; volumeicon";
always = true;
}
];
};

View file

@ -1,17 +1,22 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.cloud;
in with lib; {
options.jade.desktop.cloud = {
enable = mkEnableOption "Enable cloud things";
};
config = mkIf cfg.enable {
home-manager.users.jade = { pkgs, ... }: {
home.packages = with pkgs; [
fluent-reader
bitwarden
rofi-rbw
];
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.cloud;
in
with lib; {
options.jade.desktop.cloud = {
enable = mkEnableOption "Enable cloud things";
};
};
}
config = mkIf cfg.enable {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
fluent-reader
bitwarden
rofi-rbw
];
};
};
}

View file

@ -1,18 +1,22 @@
{ config, lib, pkgs, ... }:
let
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.compositing;
in with lib; {
options.jade.desktop.compositing = {
enable = mkEnableOption "Enable compositing with picom";
};
config = mkIf cfg.enable {
services.picom = {
in
with lib; {
options.jade.desktop.compositing = {
enable = mkEnableOption "Enable compositing with picom";
};
config = mkIf cfg.enable {
services.picom = {
enable = true;
backend = "glx";
shadow = true;
shadowOffsets = [ (-40) (-30) ];
shadowOffsets = [(-40) (-30)];
shadowOpacity = 0.2;
shadowExclude = [
"class_g ?= 'Notify-osd'"
@ -28,11 +32,11 @@ in with lib; {
"fade-in-step" = 0.25;
"fade-out-step" = 0.2;
"fade-delta" = 20;
"fade-exclude" = [ "class_g != 'Rofi'" ];
"fade-exclude" = ["class_g != 'Rofi'"];
# use damage information
"use-damage" = true;
"use-damage" = true;
};
};
# }}}
};
}
};
}

View file

@ -1,8 +1,8 @@
{ pkgs, ... }: {
{pkgs, ...}: {
fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; })
montserrat
noto-fonts
(nerdfonts.override {fonts = ["FiraCode"];})
montserrat
noto-fonts
atkinson-hyperlegible
arkpandora_ttf
liberation_ttf
@ -12,21 +12,21 @@
ocr-a
];
fonts.fontDir.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
audacity
krita
audacity
krita
gimp-with-plugins
inkscape-with-extensions
obs-studio
kdenlive
fspy
scribus
inkscape-with-extensions
obs-studio
kdenlive
fspy
scribus
onlyoffice-bin
typst
digikam
digikam
darktable
rawtherapee
];

View file

@ -1,139 +1,185 @@
{ config, lib, pkgs, ... }:
let
{
config,
lib,
pkgs,
...
}: let
# window-screenshot = pkgs.writeTextFile "window-screenshot.nu" (builtins.readFile ../../other/scripts/desktop/window-screenshot.nu);
window-screenshot = pkgs.writeShellScriptBin "window-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/window-screenshot.sh);
# desktop-ctl = pkgs.writeShellScriptBin "desktop-ctl.sh" (builtins.readFile ../scripts/desktop/desktop-ctl.sh);
desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix { inherit pkgs; };
desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix {inherit pkgs;};
# TODO: fix ocr screenshot script
ocr-screenshot = pkgs.writeShellScriptBin "ocr-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/ocr-screenshot.sh);
# rofi calculator copied from https://github.com/barbuk/menu-qalc
menu-qalc = pkgs.writeShellScriptBin "menu-qalc" (builtins.readFile ../../other/scripts/desktop/menu-qalc.sh);
in with lib; {
imports = [
./audio.nix
./gaming.nix
./creative.nix # TODO: more fine grained choices, not every setup needs fspy or rawtherapee
./dunst.nix
./compositing.nix
./ios-compat.nix
./syncthing.nix
./kdeconnect.nix
./themeing.nix
./cloud.nix
./networking.nix
./polybar.nix
./social.nix
./mail.nix
./specific-hardware
./evremap.nix
./xmonad.nix
./firefox.nix
];
in
with lib; {
imports = [
./audio.nix
./gaming.nix
./creative.nix # TODO: more fine grained choices, not every setup needs fspy or rawtherapee
./dunst.nix
./compositing.nix
./ios-compat.nix
./syncthing.nix
./kdeconnect.nix
./themeing.nix
./cloud.nix
./networking.nix
./polybar.nix
./social.nix
./mail.nix
./specific-hardware
./evremap.nix
./xmonad.nix
./firefox.nix
];
i18n.inputMethod = {
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
fcitx5-mozc
fcitx5-gtk
];
};
};
programs.seahorse.enable = true;
security.pam.services.jade.enableGnomeKeyring = true;
programs.seahorse.enable = true;
security.pam.services.jade.enableGnomeKeyring = true;
virtualisation.libvirtd.enable = true;
virtualisation.libvirtd.enable = true;
services = {
printing.enable = true;
gnome.gnome-keyring.enable = true;
services = {
printing.enable = true;
gnome.gnome-keyring.enable = true;
xserver = {
xserver = {
enable = true;
layout = "us";
xkbVariant = "altgr-intl";
libinput = {
enable = true;
};
desktopManager = {
xterm.enable = false;
};
displayManager = {
defaultSession = "none+xmonad";
gdm.enable = true;
};
windowManager.xmonad = {
enable = true;
};
};
};
programs.xss-lock = {
enable = true;
lockerCommand = "${pkgs.i3lock}/bin/i3lock";
};
layout = "us";
xkbVariant = "altgr-intl";
services.illum.enable = true;
services.avahi.enable = true;
libinput = {
services.smartd = {
enable = true;
notifications.x11.enable = true;
notifications.test = true;
};
home-manager.users.jade = {pkgs, ...}: {
programs.bat = {
# TODO: more config
enable = true;
};
desktopManager = {
xterm.enable = false;
};
displayManager = {
defaultSession = "none+xmonad";
gdm.enable = true;
programs.rofi = {
enable = true;
theme = ../../other/rofi-themes/applauncher.rasi;
};
home.packages = with pkgs; [
just
bacon
windowManager.xmonad = {
magic-wormhole-rs
yt-dlp
i3lock
rofimoji
feh
xorg.xinput
arandr
flameshot
tesseract5
imagemagick
xclip
xmacro
xorg.xev
syncplay
# filemanager
xfce.thunar
xfce.tumbler
xfce.thunar-archive-plugin
gnome.file-roller
# media/file viewers
vlc
mpv
evince
nomacs
# from environment.systemPackages cleanup
font-manager
xdotool
xorg.xwininfo
gparted
uhk-agent
cool-retro-term
xdg-desktop-portal-gtk
obsidian
zettlr
virt-manager
ddccontrol-db
firebird-emu
gitg
gpick
qdirstat
ffmpeg_5
# external
libnotify
i3lock
rofi
rofimoji
feh
xorg.xinput
arandr
flameshot
tesseract5
imagemagick
xclip
kitty
xmacro
brightnessctl
drawing
libqalculate
# custom scripts
window-screenshot
desktop-ctl
ocr-screenshot
menu-qalc
# meow
oneko
];
xsession = {
enable = true;
};
};
};
programs.xss-lock = {
enable = true;
lockerCommand = "${pkgs.i3lock}/bin/i3lock";
};
services.illum.enable = true;
services.avahi.enable = true;
services.smartd = {
enable = true;
notifications.x11.enable = true;
notifications.test = true;
};
home-manager.users.jade = { pkgs, ... }: {
programs.bat = {
# TODO: more config
enable = true;
};
programs.rofi = {
enable = true;
theme = ../../other/rofi-themes/applauncher.rasi;
};
home.packages = with pkgs; [
just bacon
magic-wormhole-rs
yt-dlp
i3lock rofimoji feh xorg.xinput arandr flameshot
tesseract5 imagemagick xclip xmacro xorg.xev
syncplay
# filemanager
xfce.thunar xfce.tumbler xfce.thunar-archive-plugin gnome.file-roller
# media/file viewers
vlc mpv evince nomacs
# from environment.systemPackages cleanup
font-manager xdotool xorg.xwininfo gparted uhk-agent
cool-retro-term xdg-desktop-portal-gtk obsidian zettlr virt-manager
ddccontrol-db firebird-emu gitg gpick qdirstat ffmpeg_5
# external
libnotify i3lock rofi rofimoji feh xorg.xinput arandr
flameshot tesseract5 imagemagick xclip kitty xmacro
brightnessctl drawing libqalculate
# custom scripts
window-screenshot desktop-ctl
ocr-screenshot menu-qalc
# meow
oneko
];
xsession = {
enable = true;
};
};
}
}

View file

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.jade = { pkgs, ... }: {
{...}: {
home-manager.users.jade = {pkgs, ...}: {
services.dunst = {
enable = true;
settings = {
@ -7,7 +7,7 @@
dmenu = "${pkgs.rofi}/bin/rofi -theme gruvbox-dark -dmenu -p dunst";
browser = "${pkgs.librewolf}/bin/librewolf";
mouse_left_click = "context";
mouse_middle_click = "close_current";
mouse_middle_click = "close_current";
background = "#282828";
foreground = "#ebdbb2";
frame_color = "#504945";

View file

@ -1,5 +1,9 @@
{ pkgs, config, lib, ... }:
let
{
pkgs,
config,
lib,
...
}: let
cfg = config.jade.desktop.evremap;
evremap = pkgs.rustPlatform.buildRustPackage {
pname = "evremap";
@ -15,20 +19,21 @@ let
postPatch = ''
cp ${../../other/evremap.Cargo.lock} Cargo.lock
'';
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = [ pkgs.libevdev ];
nativeBuildInputs = [pkgs.pkg-config];
buildInputs = [pkgs.libevdev];
};
in with lib; {
options.jade.desktop.evremap = {
enable = mkEnableOption "Enable evremap";
};
config = mkIf cfg.enable {
systemd.services.evremap = {
script = "${evremap}/bin/evremap remap ${../../other/remaps-${config.networking.hostName}.toml}";
wantedBy = [ "multi-user.target" ];
unitConfig = {
Restart = "on-failure";
in
with lib; {
options.jade.desktop.evremap = {
enable = mkEnableOption "Enable evremap";
};
config = mkIf cfg.enable {
systemd.services.evremap = {
script = "${evremap}/bin/evremap remap ${../../other/remaps-${config.networking.hostName}.toml}";
wantedBy = ["multi-user.target"];
unitConfig = {
Restart = "on-failure";
};
};
};
};
}
}

View file

@ -1,365 +1,397 @@
{ ... }: {
home-manager.users.jade = { pkgs, ... }: {
home.file = {
".tridactylrc" = {
text = ''
set editorcmd kitty hx %f +%l
set newtab about:blank
'';
};
};
programs.firefox = {
enable = true;
package = pkgs.firefox.override {
nativeMessagingHosts = [
pkgs.tridactyl-native
];
};
policies = {
DefaultDownloadDirectory = "\${home}/Downloads";
Extensions.Install = [
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin"
"https://addons.mozilla.org/firefox/downloads/latest/tridactyl-vim"
"https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17"
"https://addons.mozilla.org/firefox/downloads/latest/gruvbox-dark-theme"
"https://addons.mozilla.org/firefox/downloads/latest/torproject-snowflake"
"https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager"
"https://addons.mozilla.org/firefox/downloads/latest/terms-of-service-didnt-read"
];
Extensions.Uninstall = [
"google@search.mozilla.org"
"bing@search.mozilla.org"
"amazondotcom@search.mozilla.org"
"ebay@search.mozilla.org"
"twitter@search.mozilla.org"
];
"DisableFirefoxStudies" = true;
"DisableTelemetry" = true;
"DisableFeedbackCommands" = true;
"DisablePocket" = true;
};
profiles.jade = {
bookmarks = [
{
name = "Toolbar";
toolbar = true;
bookmarks = [
{
name = "Katzencafé";
tags = [ "fedi" "social" ];
keyword = "ck";
url = "https://ck.katzen.cafe";
}
{
name = "Mastodon.de";
tags = [ "fedi" "social" ];
keyword = "mde";
url = "https://mastodon.de";
}
{
name = "Nekoverse";
tags = [ "fedi" "social" ];
keyword = "neko";
url = "https://social.nekover.se";
}
{
name = "Katzenschmiede";
tags = [ "fedi" "git" ];
keyword = "forge";
url = "https://forge.katzen.cafe";
}
{
name = "Katzenwolke";
tags = [ "cloud" ];
keyword = "wolke";
url = "https://wolke.katzen.cafe";
}
{
name = "Penpot";
tags = [ "design" ];
keyword = "pp";
url = "https://design.katzen.cafe";
}
{
name = "Pad";
tags = [ "pad" ];
keyword = "pad";
url = "https://pad.katzen.cafe";
}
{
name = "Auth";
tags = [ "keycloak" ];
keyword = "auth";
url = "https://auth.katzen.cafe/realms/katzen.cafe/account";
}
{
name = "CCCHH";
bookmarks = [
{
name = "Website";
url = "https://hamburg.ccc.de";
}
{
name = "Wiki";
url = "https://wiki.ccchh.net";
}
{
name = "Wiki (old)";
url = "https://wiki.hamburg.ccc.de";
}
{
name = "Wiki (nonpublic)";
url = "https://nonpublic.wiki.hamburg.ccc.de";
}
{
name = "Pads";
url = "https://pad.hamburg.ccc.de";
}
{
name = "Cloud";
url = "https://cloud.hamburg.ccc.de";
}
{
name = "Club Assistant";
url = "https://club-assistant.ccchh.net";
}
];
}
];
}
];
search = {
force = true;
default = "DuckDuckGo";
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "pkgs" ];
};
"Nix Options" = {
urls = [{
template = "https://search.nixos.org/options";
params = [
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "opts" ];
};
"Home manager Options" = {
urls = [{
template = "https://mipmip.github.io/home-manager-option-search/";
params = [
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "hm" ];
};
"NixOS Wiki" = {
urls = [{
template = "https://nixos.wiki/index.php?title=Special:Search&search={searchTerms}&namespace=0";
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "nxwk" ];
};
"lib.rs" = {
urls = [{
template = "https://lib.rs/search";
params = [
{ name = "q"; value = "{searchTerms}"; }
];
}];
icon = "https://lib.rs/favicon.png";
definedAliases = [ "libs" ];
};
"rust docs" = {
urls = [{
template = "https://docs.rs/releases/search";
params = [
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "https://docs.rs/-/static/favicon.ico";
definedAliases = [ "docs" ];
};
"rust std docs" = {
urls = [{
template = "https://docs.rust-lang.org/std/index.html";
params = [
{ name = "search"; value = "{searchTerms}"; }
];
}];
icon = "https://doc.rust-lang.org/favicon.ico";
definedAliases = [ "std" ];
};
"Bing".metaData.hidden = true;
"Google".metaData.hidden = true;
"Amazon.de".metaData.hidden = true;
};
};
settings = {
"devtools.editor.keymap" = "vim";
"devtools.toolbox.host" = "right";
"webgl.disabled" = false;
"image.jxl.enabled" = true;
"browser.urlbar.decodeURLsOnCopy" = true;
"browser.urlbar.unitConversion.enabled" = true;
"browser.urlbar.suggest.calculator" = true;
"browser.compactmode.show" = true;
"browser.uidensity" = 1;
"screenshots.browser.component.enabled" = true;
"browser.aboutConfig.showWarning" = false;
"browser.aboutwelcome.showModal" = false;
"browser.aboutwelcome.enabled" = false;
"browser.preferences.moreFromMozilla" = false;
"identity.fxaccounts.enabled" = false;
"browser.tabs.firefox-view" = false;
"browser.tabs.firefox-view-next" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
"privacy.trackingprotection.emailtracking.enabled" = true;
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
{...}: {
home-manager.users.jade = {pkgs, ...}: {
home.file = {
".tridactylrc" = {
text = ''
set editorcmd kitty hx %f +%l
set newtab about:blank
'';
};
};
programs.firefox = {
enable = true;
package = pkgs.firefox.override {
nativeMessagingHosts = [
pkgs.tridactyl-native
];
};
policies = {
DefaultDownloadDirectory = "\${home}/Downloads";
Extensions.Install = [
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin"
"https://addons.mozilla.org/firefox/downloads/latest/tridactyl-vim"
"https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17"
"https://addons.mozilla.org/firefox/downloads/latest/gruvbox-dark-theme"
"https://addons.mozilla.org/firefox/downloads/latest/torproject-snowflake"
"https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager"
"https://addons.mozilla.org/firefox/downloads/latest/terms-of-service-didnt-read"
];
Extensions.Uninstall = [
"google@search.mozilla.org"
"bing@search.mozilla.org"
"amazondotcom@search.mozilla.org"
"ebay@search.mozilla.org"
"twitter@search.mozilla.org"
];
"DisableFirefoxStudies" = true;
"DisableTelemetry" = true;
"DisableFeedbackCommands" = true;
"DisablePocket" = true;
};
profiles.jade = {
bookmarks = [
{
name = "Toolbar";
toolbar = true;
bookmarks = [
{
name = "Katzencafé";
tags = ["fedi" "social"];
keyword = "ck";
url = "https://ck.katzen.cafe";
}
{
name = "Mastodon.de";
tags = ["fedi" "social"];
keyword = "mde";
url = "https://mastodon.de";
}
{
name = "Nekoverse";
tags = ["fedi" "social"];
keyword = "neko";
url = "https://social.nekover.se";
}
{
name = "Katzenschmiede";
tags = ["fedi" "git"];
keyword = "forge";
url = "https://forge.katzen.cafe";
}
{
name = "Katzenwolke";
tags = ["cloud"];
keyword = "wolke";
url = "https://wolke.katzen.cafe";
}
{
name = "Penpot";
tags = ["design"];
keyword = "pp";
url = "https://design.katzen.cafe";
}
{
name = "Pad";
tags = ["pad"];
keyword = "pad";
url = "https://pad.katzen.cafe";
}
{
name = "Auth";
tags = ["keycloak"];
keyword = "auth";
url = "https://auth.katzen.cafe/realms/katzen.cafe/account";
}
{
name = "CCCHH";
bookmarks = [
{
name = "Website";
url = "https://hamburg.ccc.de";
}
{
name = "Wiki";
url = "https://wiki.ccchh.net";
}
{
name = "Wiki (old)";
url = "https://wiki.hamburg.ccc.de";
}
{
name = "Wiki (nonpublic)";
url = "https://nonpublic.wiki.hamburg.ccc.de";
}
{
name = "Pads";
url = "https://pad.hamburg.ccc.de";
}
{
name = "Cloud";
url = "https://cloud.hamburg.ccc.de";
}
{
name = "Club Assistant";
url = "https://club-assistant.ccchh.net";
}
];
}
];
}
];
search = {
force = true;
default = "DuckDuckGo";
engines = {
"Nix Packages" = {
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["pkgs"];
};
"Nix Options" = {
urls = [
{
template = "https://search.nixos.org/options";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["opts"];
};
"Home manager Options" = {
urls = [
{
template = "https://mipmip.github.io/home-manager-option-search/";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["hm"];
};
"NixOS Wiki" = {
urls = [
{
template = "https://nixos.wiki/index.php?title=Special:Search&search={searchTerms}&namespace=0";
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["nxwk"];
};
"lib.rs" = {
urls = [
{
template = "https://lib.rs/search";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
icon = "https://lib.rs/favicon.png";
definedAliases = ["libs"];
};
"rust docs" = {
urls = [
{
template = "https://docs.rs/releases/search";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = "https://docs.rs/-/static/favicon.ico";
definedAliases = ["docs"];
};
"rust std docs" = {
urls = [
{
template = "https://docs.rust-lang.org/std/index.html";
params = [
{
name = "search";
value = "{searchTerms}";
}
];
}
];
icon = "https://doc.rust-lang.org/favicon.ico";
definedAliases = ["std"];
};
"Bing".metaData.hidden = true;
"Google".metaData.hidden = true;
"Amazon.de".metaData.hidden = true;
};
};
settings = {
"devtools.editor.keymap" = "vim";
"devtools.toolbox.host" = "right";
"webgl.disabled" = false;
"image.jxl.enabled" = true;
"browser.urlbar.decodeURLsOnCopy" = true;
"browser.urlbar.unitConversion.enabled" = true;
"browser.urlbar.suggest.calculator" = true;
"browser.compactmode.show" = true;
"browser.uidensity" = 1;
"screenshots.browser.component.enabled" = true;
"browser.aboutConfig.showWarning" = false;
"browser.aboutwelcome.showModal" = false;
"browser.aboutwelcome.enabled" = false;
"browser.preferences.moreFromMozilla" = false;
"identity.fxaccounts.enabled" = false;
"browser.tabs.firefox-view" = false;
"browser.tabs.firefox-view-next" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
"privacy.trackingprotection.emailtracking.enabled" = true;
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
"geo.provider.network.logging.enabled" = true;
"extensions.getAddons.showPane" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"browser.discovery.enabled" = false;
"browser.shopping.experience2023.enabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.server" = "data:,";
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.updatePing.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.coverage.opt-out" = true;
"toolkit.coverage.opt-out" = true;
"toolkit.coverage.endpoint.base" = "";
"browser.ping-centre.telemetry" = false;
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"app.shield.optoutstudies.enabled" = false;
"app.normandy.enabled" = false;
"app.normandy.api_url" = "";
"geo.provider.network.logging.enabled" = true;
"extensions.getAddons.showPane" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"browser.discovery.enabled" = false;
"browser.shopping.experience2023.enabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.server" = "data:,";
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.updatePing.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.coverage.opt-out" = true;
"toolkit.coverage.opt-out" = true;
"toolkit.coverage.endpoint.base" = "";
"browser.ping-centre.telemetry" = false;
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"app.shield.optoutstudies.enabled" = false;
"app.normandy.enabled" = false;
"app.normandy.api_url" = "";
"browser.safebrowsing.malware.enabled" = false;
"browser.safebrowsing.phishing.enabled" = false;
"browser.safebrowsing.downloads.enabled" = false;
"browser.safebrowsing.downloads.remote.enabled" = false;
"browser.safebrowsing.downloads.remote.url" = "";
"browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
"browser.safebrowsing.downloads.remote.block_uncommon" = false;
"browser.safebrowsing.allowOverride" = false;
"browser.safebrowsing.malware.enabled" = false;
"browser.safebrowsing.phishing.enabled" = false;
"browser.safebrowsing.downloads.enabled" = false;
"browser.safebrowsing.downloads.remote.enabled" = false;
"browser.safebrowsing.downloads.remote.url" = "";
"browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
"browser.safebrowsing.downloads.remote.block_uncommon" = false;
"browser.safebrowsing.allowOverride" = false;
"network.prefetch-next" = false;
"network.dns.disablePrefetch" = true;
"network.dns.disablePrefetchFromHTTPS" = true;
"network.predictor.enabled" = false;
"network.predictor.enable-prefetch" = false;
"network.http.speculative-parallel-limit" = 0;
"browser.places.speculativeConnect.enabled" = false;
"browser.send_pings" = false;
"network.prefetch-next" = false;
"network.dns.disablePrefetch" = true;
"network.dns.disablePrefetchFromHTTPS" = true;
"network.predictor.enabled" = false;
"network.predictor.enable-prefetch" = false;
"network.http.speculative-parallel-limit" = 0;
"browser.places.speculativeConnect.enabled" = false;
"browser.send_pings" = false;
"browser.urlbar.pocket.featureGate" = false;
"browser.urlbar.weather.featureGate" = false;
"browser.urlbar.speculativeConnect.enabled" = false;
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
"browser.search.suggest.enabled" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.trending.featureGate" = false;
"browser.urlbar.pocket.featureGate" = false;
"browser.urlbar.weather.featureGate" = false;
"browser.urlbar.speculativeConnect.enabled" = false;
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
"browser.search.suggest.enabled" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.trending.featureGate" = false;
"security.ssl.require_safe_negotiation" = true;
"security.remote_settings.crlite_filters.enabled" = true;
"security.pki.crlite_mode" = 2;
"security.ssl.require_safe_negotiation" = true;
"security.remote_settings.crlite_filters.enabled" = true;
"security.pki.crlite_mode" = 2;
"dom.security.https_only_mode" = true;
"dom.security.https_only_mode_pbm" = true;
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
"browser.xul.error_pages.expert_bad_cert" = true;
"network.http.referer.XOriginTrimmingPolicy" = 2;
"dom.security.https_only_mode" = true;
"dom.security.https_only_mode_pbm" = true;
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
"browser.xul.error_pages.expert_bad_cert" = true;
"network.http.referer.XOriginTrimmingPolicy" = 2;
"privacy.userContext.enabled" = true;
"privacy.userContext.ui.enabled" = true;
"privacy.userContext.newTabContainerOnLeftClick.enabled" = true;
"dom.disable_window_move_resize" = true;
"browser.uitour.enabled" = false;
"browser.uitour.url" = "";
"permissions.manager.defaultsUrl" = "";
"webchannel.allowObject.urlWhitelist" = "";
"network.IDN_show_punycode" = true;
"pdfjs.disabled" = false;
"pdfjs.enableScripting" = false;
"browser.tabs.searchclipboardfor.middleclick" = false;
"browser.download.useDownloadDir" = false;
"browser.download.alwaysOpenPanel" = false;
"browser.download.manager.addToRecentDocs" = false;
"browser.download.always_ask_before_handling_new_types" = true;
"privacy.resistFingerprinting" = true;
"privacy.resistFingerprinting.pbmode" = true;
"privacy.window.maxInnerWidth" = 1600;
"privacy.window.maxInnerHeight" = 900;
"privacy.resistFingerprinting.block_mozAddonManager" = true;
"privacy.resistFingerprinting.letterboxing" = true;
"privacy.resistFingerprinting.letterboxing.dimensions" = "";
"widget.non-native-theme.enabled" = true;
"browser.link.open_newwindow" = 3;
"browser.link.open_newwindow.restriction" = 0;
"signon.rememberSignons" = false;
"dom.popup_allowed_events" = "click dblclick mousedown pointerdown";
"browser.pagethumbnails.capturing_disabled" = true;
"privacy.userContext.enabled" = true;
"privacy.userContext.ui.enabled" = true;
"privacy.userContext.newTabContainerOnLeftClick.enabled" = true;
"geo.enabled" = false;
"full-screen-api.enabled" = false;
"permissions.default.geo" = 0;
"permissions.default.camera" = 0;
"permissions.default.microphone" = 0;
"permissions.default.desktop-notification" = 0;
"permissions.default.xr" = 0;
"dom.disable_window_move_resize" = true;
"browser.newtabpage.pinned" = [
{
title = "Katzencafé";
url = "https://ck.katzen.cafe";
}
{
title = "Katzenschmiede";
url = "https://forge.katzen.cafe";
}
{
title = "CatPad";
url = "https://pad.katzen.cafe";
}
{
title = "Katzenwolke";
url = "https://wolke.katzen.cafe";
}
{
title = "Penpot";
url = "https://design.katzen.cafe";
}
];
};
};
};
};
"browser.uitour.enabled" = false;
"browser.uitour.url" = "";
"permissions.manager.defaultsUrl" = "";
"webchannel.allowObject.urlWhitelist" = "";
"network.IDN_show_punycode" = true;
"pdfjs.disabled" = false;
"pdfjs.enableScripting" = false;
"browser.tabs.searchclipboardfor.middleclick" = false;
"browser.download.useDownloadDir" = false;
"browser.download.alwaysOpenPanel" = false;
"browser.download.manager.addToRecentDocs" = false;
"browser.download.always_ask_before_handling_new_types" = true;
"privacy.resistFingerprinting" = true;
"privacy.resistFingerprinting.pbmode" = true;
"privacy.window.maxInnerWidth" = 1600;
"privacy.window.maxInnerHeight" = 900;
"privacy.resistFingerprinting.block_mozAddonManager" = true;
"privacy.resistFingerprinting.letterboxing" = true;
"privacy.resistFingerprinting.letterboxing.dimensions" = "";
"widget.non-native-theme.enabled" = true;
"browser.link.open_newwindow" = 3;
"browser.link.open_newwindow.restriction" = 0;
"signon.rememberSignons" = false;
"dom.popup_allowed_events" = "click dblclick mousedown pointerdown";
"browser.pagethumbnails.capturing_disabled" = true;
"geo.enabled" = false;
"full-screen-api.enabled" = false;
"permissions.default.geo" = 0;
"permissions.default.camera" = 0;
"permissions.default.microphone" = 0;
"permissions.default.desktop-notification" = 0;
"permissions.default.xr" = 0;
"browser.newtabpage.pinned" = [
{
title = "Katzencafé";
url = "https://ck.katzen.cafe";
}
{
title = "Katzenschmiede";
url = "https://forge.katzen.cafe";
}
{
title = "CatPad";
url = "https://pad.katzen.cafe";
}
{
title = "Katzenwolke";
url = "https://wolke.katzen.cafe";
}
{
title = "Penpot";
url = "https://design.katzen.cafe";
}
];
};
};
};
};
}

View file

@ -1,18 +1,22 @@
{ config, lib, pkgs, ... }:
let
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.gaming;
in with lib; {
options.jade.desktop.gaming = {
enable = mkEnableOption "Enable gaming stuff";
};
config = mkIf cfg.enable {
programs.steam.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home.packages = with pkgs; [
lutris
prismlauncher
];
in
with lib; {
options.jade.desktop.gaming = {
enable = mkEnableOption "Enable gaming stuff";
};
};
}
config = mkIf cfg.enable {
programs.steam.enable = true;
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
lutris
prismlauncher
];
};
};
}

View file

@ -1,24 +1,29 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.ios-compat;
in with lib; {
options.jade.desktop.ios-compat = {
enable = mkEnableOption "Enable the ios compatability programs";
};
config = mkIf cfg.enable {
services = {
usbmuxd.enable = true;
gvfs.enable = true;
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.ios-compat;
in
with lib; {
options.jade.desktop.ios-compat = {
enable = mkEnableOption "Enable the ios compatability programs";
};
home-manager.users.jade = { pkgs, ... }: {
home.packages = with pkgs; [
libimobiledevice
libimobiledevice-glue
ifuse
usbmuxd
libusbmuxd
gvfs
];
config = mkIf cfg.enable {
services = {
usbmuxd.enable = true;
gvfs.enable = true;
};
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
libimobiledevice
libimobiledevice-glue
ifuse
usbmuxd
libusbmuxd
gvfs
];
};
};
};
}
}

View file

@ -1,17 +1,22 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.kdeconnect;
in with lib; {
options.jade.desktop.kdeconnect = {
enable = mkEnableOption "Enable KDE connect";
};
config = mkIf cfg.enable {
programs.kdeconnect.enable = true;
home-manager.users.jade = { pkgs, ... }: {
services.kdeconnect = {
enable = true;
indicator = true;
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.kdeconnect;
in
with lib; {
options.jade.desktop.kdeconnect = {
enable = mkEnableOption "Enable KDE connect";
};
config = mkIf cfg.enable {
programs.kdeconnect.enable = true;
home-manager.users.jade = {pkgs, ...}: {
services.kdeconnect = {
enable = true;
indicator = true;
};
};
};
};
}
}

View file

@ -1,6 +1,9 @@
{ config, lib, pkgs, ... }:
let
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.mail;
imap = {
host = "imap.migadu.com";
@ -11,63 +14,64 @@ let
port = 465;
tls.enable = true;
};
in with lib; {
options.jade.desktop.mail = {
enable = mkEnableOption "Enable thunderbird mail stuff";
};
config = mkIf cfg.enable {
home-manager.users.jade = { pkgs, ... }: {
accounts.email.accounts = {
"Jade" = rec {
inherit imap smtp;
address = "jade@schrottkatze.de";
userName = address;
realName = "Jade";
thunderbird.enable = true;
primary = true;
in
with lib; {
options.jade.desktop.mail = {
enable = mkEnableOption "Enable thunderbird mail stuff";
};
config = mkIf cfg.enable {
home-manager.users.jade = {pkgs, ...}: {
accounts.email.accounts = {
"Jade" = rec {
inherit imap smtp;
address = "jade@schrottkatze.de";
userName = address;
realName = "Jade";
thunderbird.enable = true;
primary = true;
};
"Logins" = rec {
inherit imap smtp;
address = "logins@schrottkatze.de";
userName = address;
realName = "Logins";
thunderbird.enable = true;
};
"Contact" = rec {
inherit imap smtp;
address = "contact@schrottkatze.de";
userName = address;
realName = "Jade";
thunderbird.enable = true;
};
"Schule" = rec {
inherit imap smtp;
address = "schule@schrottkatze.de";
userName = address;
realName = "Jade";
thunderbird.enable = true;
};
"Admin" = rec {
inherit imap smtp;
address = "admin@schrottkatze.de";
userName = address;
realName = "admin";
thunderbird.enable = true;
};
"CatchAll" = rec {
inherit imap smtp;
address = "catchall@schrottkatze.de";
userName = address;
realName = "Catch all";
thunderbird.enable = true;
};
};
"Logins" = rec {
inherit imap smtp;
address = "logins@schrottkatze.de";
userName = address;
realName = "Logins";
thunderbird.enable = true;
};
"Contact" = rec {
inherit imap smtp;
address = "contact@schrottkatze.de";
userName = address;
realName = "Jade";
thunderbird.enable = true;
};
"Schule" = rec {
inherit imap smtp;
address = "schule@schrottkatze.de";
userName = address;
realName = "Jade";
thunderbird.enable = true;
};
"Admin" = rec {
inherit imap smtp;
address = "admin@schrottkatze.de";
userName = address;
realName = "admin";
thunderbird.enable = true;
};
"CatchAll" = rec {
inherit imap smtp;
address = "catchall@schrottkatze.de";
userName = address;
realName = "Catch all";
thunderbird.enable = true;
};
};
programs.thunderbird = {
enable = true;
profiles.jade = {
isDefault = true;
programs.thunderbird = {
enable = true;
profiles.jade = {
isDefault = true;
};
};
};
};
};
}
}

View file

@ -1,10 +1,14 @@
{ config, lib, pkgs, ... }:
let
addNuShebang = path: builtins.concatStringsSep "\n\n" [
"#!${pkgs.nushellFull}/bin/nu"
(builtins.readFile path)
];
{
config,
lib,
pkgs,
...
}: let
addNuShebang = path:
builtins.concatStringsSep "\n\n" [
"#!${pkgs.nushellFull}/bin/nu"
(builtins.readFile path)
];
in {
config = {
networking = {
@ -40,25 +44,25 @@ in {
];
};
};
environment.etc = (with builtins; (
environment.etc = with builtins; (
listToAttrs (
map (v: {
name = "networkhooks/${v}";
name = "networkhooks/${v}";
value = {
text = addNuShebang ../../other/scripts/networkhooks/${v};
text = addNuShebang ../../other/scripts/networkhooks/${v};
mode = "0755";
};
})
})
(attrNames (readDir ../../other/scripts/networkhooks))
)
));
);
systemd.services."NetworkManager-wait-online".enable = false;
services.mullvad-vpn.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
networkmanagerapplet
networkmanagerapplet
mullvad-vpn
speedtest-cli
speedtest-cli
];
};
};

View file

@ -1,13 +1,16 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
config = {
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
#xsession.windowManager.i3.config.startup = [
#{
#command = "pkill polybar; polybar";
#always = true;
#}
#{
#command = "pkill polybar; polybar";
#always = true;
#}
#];
services.polybar = {
enable = true;

View file

@ -1,17 +1,22 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.social;
in with lib; {
options.jade.desktop.social = {
enable = mkEnableOption "Enable social apps";
};
config = mkIf cfg.enable {
home-manager.users.jade = { pkgs, ... }: {
home.packages = with pkgs; [
evolutionWithPlugins
schildichat-desktop
mumble
];
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.social;
in
with lib; {
options.jade.desktop.social = {
enable = mkEnableOption "Enable social apps";
};
};
}
config = mkIf cfg.enable {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
evolutionWithPlugins
schildichat-desktop
mumble
];
};
};
}

View file

@ -1,6 +1,10 @@
{ config, lib, pkgs, ... }:
{
imports = [
config,
lib,
pkgs,
...
}: {
imports = [
./spacenav.nix
./wacom.nix
];

View file

@ -1,11 +1,10 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
spacenavd
libspnav
spacenavd
libspnav
];
systemd.services.spacenavd = {
wantedBy = [ "graphical.target" ];
wantedBy = ["graphical.target"];
script = "${pkgs.spacenavd}/bin/spacenavd -d";
};
}

View file

@ -1,6 +1,6 @@
{ ... }: {
{...}: {
services.xserver.wacom.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = [
# TODO: figure out if the previous enabled option depends on these anyway
pkgs.libwacom

View file

@ -1,16 +1,21 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.syncthing;
in with lib; {
options.jade.desktop.syncthing = {
enable = mkEnableOption "Enable syncing via syncthing";
};
config = mkIf cfg.enable {
services.syncthing = rec {
enable = true;
user = "jade";
dataDir = "/home/${user}/Documents";
configDir = "/home/${user}/Documents/.config/syncthing";
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.syncthing;
in
with lib; {
options.jade.desktop.syncthing = {
enable = mkEnableOption "Enable syncing via syncthing";
};
};
}
config = mkIf cfg.enable {
services.syncthing = rec {
enable = true;
user = "jade";
dataDir = "/home/${user}/Documents";
configDir = "/home/${user}/Documents/.config/syncthing";
};
};
}

View file

@ -1,14 +1,17 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
config = {
fonts.packages = with pkgs; [
atkinson-hyperlegible
];
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
gtk-engine-murrine
gruvbox-dark-gtk
gtk-engine-murrine
gruvbox-dark-gtk
gruvbox-dark-icons-gtk
];
gtk = {
@ -18,7 +21,7 @@
name = "phinger-cursors";
size = 30;
};
font = {
font = {
package = pkgs.atkinson-hyperlegible;
name = "Atkinson Hyperlegible";
size = 11.5;
@ -31,7 +34,7 @@
package = pkgs.gruvbox-dark-gtk;
name = "gruvbox-dark";
};
};
};
qt = {
enable = true;
platformTheme = "gtk";

View file

@ -1,6 +1,11 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib; {
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
xsession.windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;