Compare commits

..

No commits in common. "main" and "bcachefs-update-broken-queen" have entirely different histories.

115 changed files with 2862 additions and 4159 deletions

View file

@ -57,7 +57,7 @@
size = "100%FREE"; size = "100%FREE";
content = { content = {
type = "filesystem"; type = "filesystem";
format = "ext4"; format = "bcachefs";
mountpoint = "/"; mountpoint = "/";
mountOptions = [ mountOptions = [
"defaults" "defaults"

View file

@ -41,23 +41,6 @@
}; };
}; };
}; };
#sdc = {
#device = "/dev/disk/by-path/pci-0000:06:00.0-ata-2";
#type = "disk";
#content = {
#type = "gpt";
#partitions = {
#root = {
#size = "100%";
#content = {
#type = "filesystem";
#format = "ext4";
#mountpoint = "/media";
#};
#};
#};
#};
#};
}; };
lvm_vg = { lvm_vg = {
pool = { pool = {
@ -74,7 +57,7 @@
size = "100%FREE"; size = "100%FREE";
content = { content = {
type = "filesystem"; type = "filesystem";
format = "ext4"; format = "bcachefs";
mountpoint = "/"; mountpoint = "/";
mountOptions = [ mountOptions = [
"defaults" "defaults"

View file

@ -1,47 +0,0 @@
{
disko = {
devices = {
disk = {
disk1 = {
imageSize = "20G";
type = "disk";
device = "/dev/mmcblk0";
content = {
type = "gpt";
partitions = {
firmware = {
size = "30M";
priority = 1;
type = "0700";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/firmware";
};
};
boot = {
size = "1G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
root = {
name = "root";
size = "100%";
content = {
type = "filesystem";
extraArgs = [];
format = "ext4";
mountpoint = "/";
};
};
};
};
};
};
};
};
}

1608
flake.lock

File diff suppressed because it is too large Load diff

203
flake.nix
View file

@ -78,14 +78,25 @@
# Add any other flake you might need # Add any other flake you might need
# hardware.url = "github:nixos/nixos-hardware"; # hardware.url = "github:nixos/nixos-hardware";
# Stylix theming engine };
stylix.url = "github:danth/stylix"; nixConfig = {
extra-substituters = [
"https://nix-community.cachix.org"
"https://nixpkgs-unfree.cachix.org"
"https://0uptime.cachix.org"
"https://cache.lix.systems"
];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
"0uptime.cachix.org-1:ctw8yknBLg9cZBdqss+5krAem0sHYdISkw/IFdRbYdE="
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
];
}; };
outputs = { outputs = {
self, self,
nixpkgs, nixpkgs,
flake-utils,
nixpkgs-edge, nixpkgs-edge,
nixos-generators, nixos-generators,
catppuccin, catppuccin,
@ -99,8 +110,7 @@
jovian, jovian,
nixos-hardware, nixos-hardware,
nix-index-database, nix-index-database,
conduwuit, conduit,
stylix,
... ...
} @ inputs: let } @ inputs: let
inherit (self) outputs; inherit (self) outputs;
@ -108,7 +118,6 @@
# Supported systems for your flake packages, shell, etc. # Supported systems for your flake packages, shell, etc.
systems = [ systems = [
"x86_64-linux" "x86_64-linux"
"aarch64-linux"
]; ];
# This is a function that generates an attribute by calling a function you # This is a function that generates an attribute by calling a function you
# pass to it, with each system as an argument # pass to it, with each system as an argument
@ -120,33 +129,6 @@
allowUnfreePredicate = _: true; allowUnfreePredicate = _: true;
}; };
}; };
sharedModules = [
./nixos/shared
sops-nix.nixosModules.sops
disko.nixosModules.disko
home-manager.nixosModules.home-manager
catppuccin.nixosModules.catppuccin
stylix.nixosModules.stylix
nix-index-database.nixosModules.nix-index
{
home-manager.sharedModules = [
catppuccin.homeModules.catppuccin
./home-manager/shared
sops-nix.homeManagerModules.sops
];
}
];
desktopModules = [
./nixos/desktop
{
home-manager.sharedModules = [
inputs.plasma-manager.homeManagerModules.plasma-manager
./home-manager/desktop
];
}
];
in { in {
# Your custom packages # Your custom packages
# Accessible through 'nix build', 'nix shell', etc # Accessible through 'nix build', 'nix shell', etc
@ -164,7 +146,7 @@
nixosModules = import ./modules/nixos; nixosModules = import ./modules/nixos;
# Reusable home-manager modules you might want to export # Reusable home-manager modules you might want to export
# These are usually stuff you would upstream into home-manager # These are usually stuff you would upstream into home-manager
# homeManagerModules = import ./modules/home-manager; homeManagerModules = import ./modules/home-manager;
# Your custom packages and modifications, exported as overlays # Your custom packages and modifications, exported as overlays
overlays = import ./overlays {inherit inputs;}; overlays = import ./overlays {inherit inputs;};
@ -175,73 +157,128 @@
EDI = nixpkgs.lib.nixosSystem { EDI = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = modules = [
sharedModules {_module.args = {inherit pkgs-edge;};}
++ desktopModules nixos-hardware.nixosModules.dell-xps-13-7390
++ [ # > Our main nixos configuration file <
{_module.args = {inherit pkgs-edge;};} ./nixos/hosts/EDI/configuration.nix
nixos-hardware.nixosModules.dell-xps-13-7390 sops-nix.nixosModules.sops
lanzaboote.nixosModules.lanzaboote lanzaboote.nixosModules.lanzaboote
# > Our main nixos configuration file < disko.nixosModules.disko
./nixos/hosts/EDI/configuration.nix home-manager.nixosModules.home-manager
]; nix-index-database.nixosModules.nix-index
catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.catppuccin.homeManagerModules.catppuccin
inputs.plasma-manager.homeManagerModules.plasma-manager
];
}
];
}; };
GLaDOS = nixpkgs.lib.nixosSystem { GLaDOS = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = modules = [
sharedModules {_module.args = {inherit pkgs-edge;};}
++ desktopModules # > Our main nixos configuration file <
++ [ ./nixos/hosts/GLaDOS/configuration.nix
{_module.args = {inherit pkgs-edge;};} sops-nix.nixosModules.sops
jovian.nixosModules.jovian #lanzaboote.nixosModules.lanzaboote
# > Our main nixos configuration file < disko.nixosModules.disko
./nixos/hosts/GLaDOS/configuration.nix home-manager.nixosModules.home-manager
lanzaboote.nixosModules.lanzaboote nix-index-database.nixosModules.nix-index
]; catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.catppuccin.homeManagerModules.catppuccin
inputs.plasma-manager.homeManagerModules.plasma-manager
];
}
];
}; };
queen = nixpkgs.lib.nixosSystem { queen = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = modules = [
sharedModules {_module.args = {inherit pkgs-edge;};}
++ [ # > Our main nixos configuration file <
{_module.args = {inherit pkgs-edge;};} ./nixos/hosts/queen/configuration.nix
simple-nixos-mailserver.nixosModule sops-nix.nixosModules.sops
# > Our main nixos configuration file < disko.nixosModules.disko
./nixos/hosts/queen/configuration.nix simple-nixos-mailserver.nixosModule
]; catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.catppuccin.homeManagerModules.catppuccin
];
}
];
}; };
shodan = nixpkgs.lib.nixosSystem { shodan = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = modules = [
sharedModules {_module.args = {inherit pkgs-edge;};}
++ [ # > Our main nixos configuration file <
{_module.args = {inherit pkgs-edge;};} ./nixos/hosts/shodan/configuration.nix
# > Our main nixos configuration file < sops-nix.nixosModules.sops
./nixos/hosts/shodan/configuration.nix lanzaboote.nixosModules.lanzaboote
lanzaboote.nixosModules.lanzaboote disko.nixosModules.disko
jovian.nixosModules.jovian jovian.nixosModules.jovian
{ home-manager.nixosModules.home-manager
home-manager.sharedModules = [ catppuccin.nixosModules.catppuccin
inputs.plasma-manager.homeManagerModules.plasma-manager {
]; home-manager.sharedModules = [
} inputs.plasma-manager.homeManagerModules.plasma-manager
]; inputs.catppuccin.homeManagerModules.catppuccin
];
}
];
}; };
wheatley = nixpkgs.lib.nixosSystem { ISO = nixpkgs.lib.nixosSystem {
system = "aarch64-linux"; system = "x86_64-linux";
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
modules = modules = [
sharedModules {_module.args = {inherit pkgs-edge;};}
++ [ "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix"
./nixos/hosts/wheatley/configuration.nix "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
]; ./nixos/hosts/iso/configuration.nix
sops-nix.nixosModules.sops
home-manager.nixosModules.home-manager
nix-index-database.nixosModules.nix-index
catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.plasma-manager.homeManagerModules.plasma-manager
inputs.catppuccin.homeManagerModules.catppuccin
];
}
];
};
iso_server = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
{_module.args = {inherit pkgs-edge;};}
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
"${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
./nixos/hosts/iso_server/configuration.nix
sops-nix.nixosModules.sops
home-manager.nixosModules.home-manager
nix-index-database.nixosModules.nix-index
catppuccin.nixosModules.catppuccin
{
home-manager.sharedModules = [
inputs.catppuccin.homeManagerModules.catppuccin
];
}
];
}; };
}; };
}; };

View file

@ -1,6 +1,9 @@
{ {
pkgs, inputs,
outputs,
lib,
config, config,
pkgs,
... ...
}: { }: {
# You can import other home-manager modules here # You can import other home-manager modules here
@ -17,8 +20,6 @@
./package-configs/firefox.nix ./package-configs/firefox.nix
./package-configs/konsole ./package-configs/konsole
./package-configs/foot ./package-configs/foot
./package-configs/freetube
./package-configs/vesktop
]; ];
nixpkgs = { nixpkgs = {
# You can add overlays here # You can add overlays here
@ -32,239 +33,174 @@
# patches = [ ./change-hello-to-hi.patch ]; # patches = [ ./change-hello-to-hi.patch ];
# }); # });
# }) # })
# (final: prev: { (final: prev: {
# catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: { catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: {
# accent = "mauve"; accent = "mauve";
# boldKeywords = true; boldKeywords = true;
# italicComments = true; italicComments = true;
# italicKeywords = true; italicKeywords = true;
# extraBordersEnabled = false; extraBordersEnabled = false;
# workbenchMode = "default"; workbenchMode = "default";
# bracketMode = "rainbow"; bracketMode = "rainbow";
# colorOverrides = {}; colorOverrides = {};
# customUIColors = {}; customUIColors = {};
# }); });
# }) })
# (final: prev: { (final: prev: {
# catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: { catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: {
# accent = "mauve"; accent = "mauve";
# boldKeywords = true; boldKeywords = true;
# italicComments = true; italicComments = true;
# italicKeywords = true; italicKeywords = true;
# extraBordersEnabled = false; extraBordersEnabled = false;
# workbenchMode = "default"; workbenchMode = "default";
# bracketMode = "rainbow"; bracketMode = "rainbow";
# colorOverrides = {}; colorOverrides = {};
# customUIColors = {}; customUIColors = {};
# }); });
# }) })
]; ];
# Configure your nixpkgs instance
config = { config = {
permittedInsecurePackages = ["cinny-4.2.3" "cinny-unwrapped-4.2.3" "cinny-4.2.2" "cinny-unwrapped-4.2.2"];
# Configure your nixpkgs instance
# Disable if you don't want unfree packages # Disable if you don't want unfree packages
allowUnfree = true; allowUnfree = true;
}; };
}; };
systemd.user = {
# services."nextcloud-autosync@" = {
# Unit = {
# Description = "Auto sync Nextcloud";
# After = "network-online.target";
# PartOf = ["nextcloud-autosyncs.target"];
# };
# Service = {
# Type = "simple";
# ExecStart = "${pkgs.nextcloud-client}/bin/nextcloudcmd -h -n --path /%i /home/lillian/%i https://nextcloud.gladtherescake.eu";
# TimeoutStopSec = "180";
# KillMode = "process";
# KillSignal = "SIGINT";
# };
# Install.WantedBy = ["multi-user.target"];
# };
# targets.nextcloud-autosyncs = {
# Unit = {
# Description = "workers";
# Requires = ["nextcloud-autosync@Music" "nextcloud-autosync@Pictures" "nextcloud-autosync@Scripts" "nextcloud-autosync@Videos" "nextcloud-autosync@Documents"];
# PartOf = "nextcloud-autosyncs.target";
# };
# Install.WantedBy = ["multi-user.target"];
# };
# timers.nextcloud-autosyncs = {
# Unit.Description = "Automatic sync files with Nextcloud when booted up after 5 minutes then rerun every 60 minutes";
# Timer.OnBootSec = "5min";
# Timer.OnUnitActiveSec = "60min";
# Install.WantedBy = ["multi-user.target" "timers.target"];
# };
# Nicely reload system units when changing configs
startServices = "sd-switch";
};
home = { home = {
username = "lillian"; username = "lillian";
homeDirectory = "/home/lillian"; homeDirectory = "/home/lillian";
};
file = { # Add stuff for your user as you see fit:
Music = { # programs.neovim.enable = true;
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Music"; # home.packages = with pkgs; [ steam ];
target = "Music";
};
Pictures = {
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Pictures";
target = "Pictures";
};
Screenshots = {
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Pictures/Screenshots";
target = "Screenshots";
};
Scripts = {
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Scripts";
target = "Scripts";
};
Videos = {
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Videos";
target = "Videos";
};
Documents = {
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Documents";
target = "Documents";
};
floorp = {
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/.mozilla/firefox";
target = ".floorp";
};
};
# Add stuff for your user as you see fit: home.packages = with pkgs; [
# programs.neovim.enable = true; # Coding:
# home.packages = with pkgs; [ steam ]; direnv
git
git-credential-manager
git-credential-manager
ruff
kate
packages = with pkgs; [ # Chat applications:
# Coding: signal-desktop
direnv webcord-vencord
git
git-credential-manager
git-credential-manager
ruff
# Chat applications: # Gaming:
signal-desktop prismlauncher
vesktop steam
# cinny-desktop
# Gaming: # Multimedia:
prismlauncher freetube
steam vlc
gamescope
# Multimedia: # Office applications:
vlc onlyoffice-bin
fcast-receiver gimp
fcast-client thunderbird
# Office applications: # System tools:
onlyoffice-bin rage
gimp flameshot
thunderbird fzf
nextcloud-client
nitrokey-app
protonvpn-gui
virtualbox
watchmate
qbittorrent
# System tools: # Theming:
rage catppuccin-cursors
flameshot (catppuccin-kde.override {
fzf flavour = ["macchiato"];
nextcloud-client accents = ["mauve"];
nitrokey-app })
protonvpn-gui catppuccin-sddm-corners
virtualbox
#watchmate
qbittorrent
# Theming: # Theming:
catppuccin-cursors catppuccin-cursors
(catppuccin-kde.override { (catppuccin-kde.override {
flavour = ["macchiato"]; flavour = ["macchiato"];
accents = ["mauve"]; accents = ["mauve"];
}) })
catppuccin-sddm-corners catppuccin-sddm-corners
# Theming: # Web browsing:
catppuccin-cursors firefoxpwa
(catppuccin-kde.override { firefoxpwa
flavour = ["macchiato"]; ungoogled-chromium
accents = ["mauve"]; ];
})
catppuccin-sddm-corners
# Web browsing: programs.vscode = {
firefoxpwa enable = true;
firefoxpwa package = pkgs.vscodium;
ungoogled-chromium extensions = with pkgs.vscode-extensions; [
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
charliermarsh.ruff
eamodio.gitlens
github.vscode-pull-request-github
jnoortheen.nix-ide
kamadorueda.alejandra
mkhl.direnv
ms-toolsai.jupyter
ms-pyright.pyright
ms-python.black-formatter
ms-python.vscode-pylance
ms-vscode-remote.remote-ssh
oderwat.indent-rainbow
rust-lang.rust-analyzer
yzhang.markdown-all-in-one
]; ];
}; };
programs = {
# vscode = {
# enable = true;
# package = pkgs.vscodium;
# extensions = with pkgs.vscode-extensions; [
# catppuccin.catppuccin-vsc
# catppuccin.catppuccin-vsc-icons
# charliermarsh.ruff
# eamodio.gitlens
# github.vscode-pull-request-github
# jnoortheen.nix-ide
# kamadorueda.alejandra
# mkhl.direnv
# ms-toolsai.jupyter
# ms-pyright.pyright
# oderwat.indent-rainbow
# rust-lang.rust-analyzer
# yzhang.markdown-all-in-one
# ];
# };
obs-studio.enable = true; programs.obs-studio = {
obs-studio.plugins = with pkgs.obs-studio-plugins; [ enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs wlrobs
obs-backgroundremoval obs-backgroundremoval
obs-pipewire-audio-capture obs-pipewire-audio-capture
]; ];
};
# Enable home-manager and git # Enable home-manager and git
home-manager.enable = true; programs.home-manager.enable = true;
git = { programs.git = {
enable = true; enable = true;
userEmail = "git@lillianviolet.dev"; userEmail = "git@lillianviolet.dev";
userName = "Lillian-Violet"; userName = "Lillian-Violet";
extraConfig = { extraConfig = {
init = { init = {
defaultBranch = "main"; defaultBranch = "main";
};
}; };
ignores = [
"*.direnv"
"*.vscode"
".envrc"
"venv"
"venv"
];
signing.format = "ssh";
}; };
ignores = [
"*.direnv"
"*.vscode"
".envrc"
"venv"
"venv"
];
};
gpg.enable = true; programs.gpg.enable = true;
gpg.settings = { programs.gpg.settings = {
default-key = "0d43 5407 034c 2ad9 2d42 799d 280e 061d ff60 0f0d"; default-key = "0d43 5407 034c 2ad9 2d42 799d 280e 061d ff60 0f0d";
default-recipient-self = true; default-recipient-self = true;
auto-key-locate = "local,wkd,keyserver"; auto-key-locate = "local,wkd,keyserver";
keyserver = "hkps://keys.openpgp.org"; keyserver = "hkps://keys.openpgp.org";
auto-key-retrieve = true; auto-key-retrieve = true;
auto-key-import = true; auto-key-import = true;
keyserver-options = "honor-keyserver-url"; keyserver-options = "honor-keyserver-url";
no-autostart = true; no-autostart = true;
};
};
services = {
kdeconnect.package = pkgs.kdePackages.kdeconnect-kde;
kdeconnect.enable = true;
}; };
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
} }

View file

@ -1,8 +1,12 @@
{pkgs, ...}: { {
config,
pkgs,
...
}: {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
nativeMessagingHosts = [pkgs.firefoxpwa]; nativeMessagingHosts = [pkgs.firefoxpwa];
package = pkgs.floorp; package = pkgs.firefox;
profiles.lillian = { profiles.lillian = {
isDefault = true; isDefault = true;
settings = { settings = {
@ -24,70 +28,368 @@
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "DuckDuckGo"; "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "DuckDuckGo";
}; };
bookmarks = { userChrome = ''
force = true; /*
settings = [ Title: Drannex42's FirefoxSidebar / Vertical Tabs
{ Description: Vertical tab design for Firefox with dynamic indentation::
name = "DIY HRT"; Sideberry and TreeStyleTabs (Legacy) themes available!
toolbar = false; Repository URL: https://github.com/drannex42/FirefoxSidebar
bookmarks = [ Version: 12022.04.17
{ */
name = "estrogen production";
tags = ["chemistry" "oestrogen" "estrogen" "diy"]; /*
url = "https://crimethinc.com/2022/12/15/producing-transdermal-estrogen-a-do-it-yourself-guide"; Preferences / Settings ::
} Use this file to set your preferences this will save them in one place for easier future updating
{ =========================================================================
name = "DIY HRT info"; */
tags = ["guides" "wiki" "information" "DIY" "HRT" "estrogen" "testosterone"];
url = "https://diyhrt.info/"; /*
} Preferences / Settings
]; Use this file to set your preferences this will save them in one place for easier future updating
} =========================================================================
{ */
name = "repair resources";
toolbar = false; :root {
bookmarks = [ --sidebar-width: 50px;
{ --toolbar-height: -12px;
name = "manuals library"; --menubar-height: -42px;
tags = ["repair" "manuals" "documentation"]; --sidebar-padding: calc(var(--sidebar-width) + 5px);
url = "https://manualslib.com/"; --toolbar-start-end-padding: 5px !important;
}
]; /* Custom Sidebar/Header Backround ::
} This sets the background for the other sidebar options (bookmarks, history, in case it is transparent from a theme that is not set up properly
{ */
name = "Nix sites"; /* --custom-sidebar-bg: Field; /* Default: Field (Disabled) */
toolbar = false; --custom-sidebar-header-bg: #000; /* Default: Field (Disabled) */
bookmarks = [
{ /* ====== Extension Settings ====== */
name = "packages";
tags = ["packages" "basic" "nix"]; /* Window Control / Client Side Display Settings ===
url = "https://search.nixos.org/"; If you are putting this on the left or right side uncomment the side
} preferences below and comment the other
{ =========================================================================
name = "settings"; */
tags = ["settings" "services" "packages" "nix"]; --csd-width: 100px;
url = "https://mynixos.com"; --csd-top: 8px;
}
]; /*
} CSD - Left Side ===
{ Default: --csd-left: 50px; --csd-margin-left: 92px;
name = "Games"; */
toolbar = false;
bookmarks = [ /*
{ --csd-left: 50px;
name = "PoE2 build sorceres"; --csd-margin-left: 92px;
tags = ["PoE" "PoE2" "path of exile" "path of exile 2" "games" "guides" "build" "sorcerer" "sorceres"]; */
url = "https://maxroll.gg/poe2/planner/caeye0hz";
} /*
{ CSD - Right Side ===
name = "PoE2 build ranger"; Defaults: --csd-right: 0px; --csd-margin-right: 95px;
tags = ["PoE" "PoE2" "path of exile" "path of exile 2" "games" "guides" "build" "bow" "ranger"]; */
url = "https://maxroll.gg/poe2/build-guides/deadeye-gas-arrow-leveling-guide";
} --csd-right: 36px;
]; --csd-margin-right: 130px;
}
]; /* === END: Window Control / Client Side Display Settings === */
};
/* === END: Extension Settings === */
}
/* ========================================================================= */
/* Sidebar (Core) :: This file is for the sidebar implementation */
/*
Extension (Core): Sidebar
Description: This is the core implementation of the sidebar used in drannex42's FirefoxSidebar.
Repository URL: https://github.com/drannex42/FirefoxSidebar
Version: v12022.11.22 (YYYYY.MM.DD)
*/
#main-window #TabsToolbar {
visibility: collapse;
}
#sidebar-box > #browser,
#webextpanels-window {
background: transparent !important;
}
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"]
#sidebar-header {
/*! display: none; */
}
/*Collapse in default state and add transition*/
#sidebar-box {
/*! overflow: visible !important; */
border-right: none !important; /* border-right: 1px solid var(--sidebar-border-color) !important; */
z-index: 2;
border-right: none !important;
width: 100% !important;
background: var(--custom-sidebar-bg, --sidebar-background);
/* lock sidebar to height by doing the inverse margin of the toolbar element */
z-index: 1000 !important;
position: relative !important;
margin-top: var(--menubar-height) !important;
border-right: none;
transition: none !important;
/* lock sidebar to specified width */
min-width: var(--sidebar-width) !important;
max-width: var(--sidebar-width) !important;
overflow: hidden !important;
transition-property: width;
transition-duration: 0.25s;
transition-delay: 0.25s;
transition-timing-function: ease-in;
}
#sidebar-box::after {
background: var(--sidebar-border-color) !important;
margin-left: 207px;
z-index: 9999999;
position: absolute;
content: " ";
width: 1px;
height: 100%;
top: 0;
right: 0px;
}
#sidebar-box:hover:after {
top: 42px;
}
/*All other sidebar-boxes should be larger on hover*/
#sidebar-box:hover, #sidebar-box #sidebar:hover {
min-width: 350px !important;
max-width: 350px !important;
z-index: 999;
margin-right: -300px !important;
}
/*Tree Style Tabs && Sideberry specific sidebar width and size*/
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"]:hover,
#sidebar-box[sidebarcommand="_3c078156-979c-498b-8990-85f7987dd929_-sidebar-action"]:hover,
#sidebar-box[sidebarcommand="_3c078156-979c-498b-8990-85f7987dd929_-sidebar-action"] #sidebar:hover {
min-width: 260px !important;
max-width: 260px !important;
margin-right: -210px !important;
}
#sidebar-header {
border: none !important;
border-right: 1px solid var(--sidebar-border-color);
background: var(--custom-sidebar-header-bg, transparent) !important;
}
#sidebar-close,
#sidebar-title,
#sidebar-switcher-arrow {
display: none;
border: none;
}
#sidebar-switcher-target {
border: none !important;
margin-left: 4.5px !important;
padding-top: 4px !important;
padding-bottom: 6px !important;
}
#sidebar-switcher-target:focus-visible:not(:hover, [open]),
#sidebar-close:focus-visible:not(:hover, [open]) {
outline: none !important;
}
.sidebar-splitter {
opacity: 0 !important;
width: 0px !important;
border: none !important;
--avatar-image-url: none !important;
}
#sidebarMenu-popup .subviewbutton {
min-width: 0px;
padding: 0;
margin: 0 !important;
}
toolbarseparator {
display: none;
}
#nav-bar-customization-target {
z-index: 99999;
position: relative;
}
.browser-toolbar {
padding-left: var(--sidebar-width) !important;
position: relative !important;
}
#PersonalToolbar {
padding: 2px 5px !important;
padding-top: 0px !important;
margin-top: 0px !important;
padding-left: calc(var(--sidebar-width) + 6px) !important;
}
/*
Extensions ::
To enable/disable specific extensions just comment/uncomment the line below.
=========================================================================
*/
/* CSD / Window Controls */
/*
Extension: Window Controls / Client Side Decorations (CSD)
Description: This brings the window controls into the main bar (where the address bar exists). Please see the prefs.css folder for switching the sides from left to right.
Repository URL: https://github.com/drannex42/FirefoxSidebar
Contributors: Mr-nUUb, Xanaxus, Drannex42
Issue URL: https://github.com/drannex42/FirefoxSidebar/issues/14
*/
/* allow the buttons to appear */
.browser-toolbar {
position: unset !important;
}
/* reserve space for buttons */
#nav-bar {
padding-right: var(--csd-margin-right) !important;
margin-left: var(--csd-margin-left) !important;
}
/* move buttons next to menu button */
.titlebar-buttonbox-container {
visibility: visible !important;
position: fixed !important;
display: block;
z-index: 999999999;
top: var(--csd-top, inherit);
right: var(--csd-right, inherit);
left: var(--csd-left, inherit);
max-width: var(--csd-width);
}
/* hide buttons in fullscreen mode (video player and F11) */
#main-window[inFullscreen="true"] .titlebar-buttonbox-container,
#main-window[inDOMFullscreen="true"] .titlebar-buttonbox-container {
visibility: hidden !important;
}
/* remove empty space when in fullscreen mode (F11) */
#main-window[inFullscreen="true"] #nav-bar {
padding-right: 0px !important;
margin-left: 0px !important;
}
/* END Client Side Decorations / Window Controls */
/* --- Prevent enlargement */
#urlbar[breakout-extend] {
top: calc(
(var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2
) !important;
left: 0 !important;
width: 100% !important;
}
#urlbar[breakout-extend] #urlbar-input-container {
height: var(--urlbar-height) !important;
/* padding: 0px !important; */
padding-block: 0px !important;
padding-inline: 0px !important;
}
.urlbarView-row {
padding: 0px 2px 0px 2px;
}
/* END Prevent enlargement --- */
/*/* --- Reduce row paddings to make them more compact */
.urlbarView-row {
padding: 2px 0px !important;
line-height: 1.2em !important;
margin: -1px;
margin-bottom: 0px;
}
.urlbarView-row-inner {
padding-bottom: 6px !important;
}
.urlbarView {
margin: 0px !important;
width: 100% !important;
}
/* END Reduce row paddings to make them more compact --- */
/* Disable Urlbar Animation */
#urlbar[breakout][breakout-extend][breakout-extend-animate]
> #urlbar-background {
animation-name: none !important;
animation: none !important;
}
/* END Disable Urlbar Animation */
/* --- More compact "Search with Google" rows */
.urlbarView-row[dynamicType="onboardTabToSearch"] > .urlbarView-row-inner {
min-height: auto !important;
width: auto !important;
}
.urlbarView-row[dynamicType="onboardTabToSearch"]
> .urlbarView-row-inner
> .urlbarView-no-wrap
> .urlbarView-favicon {
margin-bottom: -1px;
}
/* END More compact "Search with Google" rows --- */
/* Remove active border on the addressbar when in focus */
#nav-bar {
--toolbar-field-focus-border-color: #ccc;
}
/* Remove box shadow on address bar */
#urlbar-background,
#searchbar {
box-shadow: none !important;
}
'';
bookmarks = [
{
name = "estrogen production";
tags = ["chemistry" "oestrogen" "estrogen" "diy"];
url = "https://crimethinc.com/2022/12/15/producing-transdermal-estrogen-a-do-it-yourself-guide";
}
{
name = "Nix sites";
toolbar = false;
bookmarks = [
{
name = "packages";
tags = ["packages" "basic" "nix"];
url = "https://search.nixos.org/";
}
{
name = "settings";
tags = ["settings" "services" "packages" "nix"];
url = "https://mynixos.com";
}
];
}
];
}; };
}; };
} }

View file

@ -1,9 +1,15 @@
{...}: { {
lib,
pkgs,
inputs,
...
}: {
programs.foot = { programs.foot = {
enable = true; enable = true;
# catppuccin.enable = true; catppuccin.enable = true;
settings = { settings = {
main = { main = {
font = "Fira Code:size=11";
}; };
mouse = { mouse = {

View file

@ -1,7 +0,0 @@
{...}: {
home.file."settings.db" = {
source = ./settings.db;
target = ".config/freetube/settings.db";
force = true;
};
}

View file

@ -1,24 +0,0 @@
{"_id":"allowDashAv1Formats","value":true}
{"_id":"barColor","value":true}
{"_id":"baseTheme","value":"catppuccinMocha"}
{"_id":"bounds","value":{"x":0,"y":66,"width":2560,"height":1374,"maximized":true,"fullScreen":false}}
{"_id":"defaultQuality","value":"1080"}
{"_id":"fetchSubscriptionsAutomatically","value":false}
{"_id":"generalAutoLoadMorePaginatedItemsEnabled","value":true}
{"_id":"hideActiveSubscriptions","value":true}
{"_id":"hidePopularVideos","value":true}
{"_id":"hideRecommendedVideos","value":true}
{"_id":"hideSubscriptionsCommunity","value":true}
{"_id":"hideSubscriptionsLive","value":true}
{"_id":"hideSubscriptionsShorts","value":true}
{"_id":"hideSubscriptionsVideos","value":true}
{"_id":"hideTrendingVideos","value":true}
{"_id":"landingPage","value":"history"}
{"_id":"mainColor","value":"CatppuccinMochaMauve"}
{"_id":"playNextVideo","value":false}
{"_id":"quickBookmarkTargetPlaylistId","value":"favorites"}
{"_id":"secColor","value":"CatppuccinMochaMauve"}
{"_id":"showDistractionFreeTitles","value":true}
{"_id":"useDeArrowThumbnails","value":true}
{"_id":"useDeArrowTitles","value":true}
{"_id":"useSponsorBlock","value":true}

View file

@ -1,4 +1,9 @@
{...}: { {
lib,
pkgs,
inputs,
...
}: {
home.file = { home.file = {
"profile" = { "profile" = {
source = ./Catppuccin.profile; source = ./Catppuccin.profile;

View file

@ -1,145 +1,6 @@
{osConfig, ...}: { {
home.file.".config/kdeconnect/config" = {
text = ''
[General]
keyAlgorithm=EC
name=${osConfig.networking.hostName}
customDevices=10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5
'';
target = ".config/kdeconnect/config";
force = true;
};
programs.plasma = { programs.plasma = {
enable = true; enable = true;
desktop.mouseActions.verticalScroll = "switchVirtualDesktop";
# kscreenlocker.appearance.wallpaper = "${osConfig.stylix.image}";
# fonts = {
# fixedWidth = {
# pointSize = 11;
# family = "${osConfig.stylix.fonts.monospace.name}";
# };
# general = {
# pointSize = 11;
# family = "${osConfig.stylix.fonts.serif.name}";
# };
# menu = {
# pointSize = 11;
# family = "${osConfig.stylix.fonts.sansSerif.name}";
# };
# small = {
# pointSize = 11;
# family = "${osConfig.stylix.fonts.sansSerif.name}";
# };
# toolbar = {
# pointSize = 11;
# family = "${osConfig.stylix.fonts.sansSerif.name}";
# };
# windowTitle = {
# pointSize = 11;
# family = "${osConfig.stylix.fonts.sansSerif.name}";
# };
# };
panels = [
{
alignment = "left";
floating = true;
height = 38;
location = "top";
screen = "all";
widgets = [
"org.kde.plasma.appmenu"
"org.kde.plasma.panelspacer"
"org.kde.milou"
"org.kde.plasma.panelspacer"
"org.kde.plasma.colorpicker"
{
systemTray.items = {
# We explicitly show bluetooth and battery
shown = [
"org.kde.plasma.volume"
"org.kde.plasma.bluetooth"
"org.kde.plasma.brightness"
"org.kde.plasma.devicenotifier"
"org.kde.kscreen"
"org.kde.kdeconnect"
"org.kde.plasma.networkmanagement"
"org.kde.plasma.battery"
"org.kde.plasma.clipboard"
"org.kde.plasma.mediacontroller"
"org.kde.plasma.notifications"
"org.kde.plasma.weather"
];
# And explicitly hide networkmanagement and volume
hidden = [
"Xwayland Video Bridge_pipewireToXProxy"
"org.kde.plasma.devicenotifier"
"org.kde.kscreen"
"org.kde.plasma.printmanager"
"chrome_status_icon_1"
"proton-vpn-app"
"Nitrokey App"
"qBittorrent"
"vlc"
"steam"
];
};
}
{
digitalClock = {
calendar.firstDayOfWeek = "monday";
time.format = "24h";
date = {
enable = true;
format = "isoDate";
position = "belowTime";
};
timeZone.selected = ["Europe/Amsterdam"];
};
}
"org.kde.plasma.lock_logout"
];
}
{
alignment = "center";
floating = true;
height = 44;
hiding = "autohide";
maxLength = 1920;
minLength = 1200;
location = "bottom";
screen = "all";
widgets = [
"org.kde.plasma.kickoff"
"org.kde.plasma.panelspacer"
{
name = "org.kde.plasma.icontasks";
config = {
General = {
launchers = [
"applications:floorp.desktop"
"applications:systemsettings.desktop"
"applications:org.kde.dolphin.desktop"
"applications:signal-desktop.desktop"
"applications:vesktop.desktop"
"applications:thunderbird.desktop"
"applications:cinny.desktop"
"applications:steam.desktop"
"applications:noisetorch.desktop"
"applications:org.kde.plasma-systemmonitor.desktop"
"applications:foot.desktop"
"applications:nitrokey-app.desktop"
"applications:freetube.desktop"
];
};
};
}
"org.kde.plasma.panelspacer"
"org.kde.plasma.minimizeall"
];
}
];
shortcuts = { shortcuts = {
"ActivityManager"."switch-to-activity-a2cd7f51-1f1f-47a8-9544-a4c401f57a12" = []; "ActivityManager"."switch-to-activity-a2cd7f51-1f1f-47a8-9544-a4c401f57a12" = [];
"KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L"; "KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L";
@ -147,7 +8,7 @@
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S"; "kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
"kcm_touchpad"."Disable Touchpad" = "Touchpad Off"; "kcm_touchpad"."Disable Touchpad" = "Touchpad Off";
"kcm_touchpad"."Enable Touchpad" = "Touchpad On"; "kcm_touchpad"."Enable Touchpad" = "Touchpad On";
"kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle" "" "Meta+Ctrl+Zenkaku Hankaku,Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"]; "kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
"khotkeys"."{d03619b6-9b3c-48cc-9d9c-a2aadb485550}" = []; "khotkeys"."{d03619b6-9b3c-48cc-9d9c-a2aadb485550}" = [];
"kmix"."decrease_microphone_volume" = "Microphone Volume Down"; "kmix"."decrease_microphone_volume" = "Microphone Volume Down";
"kmix"."decrease_volume" = "Volume Down"; "kmix"."decrease_volume" = "Volume Down";
@ -155,29 +16,40 @@
"kmix"."increase_microphone_volume" = "Microphone Volume Up"; "kmix"."increase_microphone_volume" = "Microphone Volume Up";
"kmix"."increase_volume" = "Volume Up"; "kmix"."increase_volume" = "Volume Up";
"kmix"."increase_volume_small" = "Shift+Volume Up"; "kmix"."increase_volume_small" = "Shift+Volume Up";
"kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute,Microphone Mute" "Meta+Volume Mute,Mute Microphone"]; "kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute"];
"kmix"."mute" = "Volume Mute"; "kmix"."mute" = "Volume Mute";
"ksmserver"."Halt Without Confirmation" = "none,,Shut Down Without Confirmation"; "ksmserver"."Halt Without Confirmation" = [];
"ksmserver"."Lock Session" = ["Meta+L" "Screensaver,Meta+L" "Screensaver,Lock Session"]; "ksmserver"."Lock Session" = ["Meta+L" "Screensaver"];
"ksmserver"."Log Out" = "Ctrl+Alt+Del"; "ksmserver"."Log Out" = "Ctrl+Alt+Del";
"ksmserver"."Log Out Without Confirmation" = "none,,Log Out Without Confirmation"; "ksmserver"."Log Out Without Confirmation" = [];
"ksmserver"."LogOut" = "none,,Log Out"; "ksmserver"."Reboot" = [];
"ksmserver"."Reboot" = "none,,Reboot"; "ksmserver"."Reboot Without Confirmation" = [];
"ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation"; "ksmserver"."Shut Down" = [];
"ksmserver"."Shut Down" = "none,,Shut Down";
"kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A"; "kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A";
"kwin"."Cube" = "Meta+C";
"kwin"."Cycle Overview" = [];
"kwin"."Cycle Overview Opposite" = [];
"kwin"."Decrease Opacity" = [];
"kwin"."Edit Tiles" = "Meta+T"; "kwin"."Edit Tiles" = "Meta+T";
"kwin"."Expose" = "Ctrl+F9"; "kwin"."Expose" = "Ctrl+F9";
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"]; "kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C)"];
"kwin"."ExposeClass" = "Ctrl+F7"; "kwin"."ExposeClass" = "Ctrl+F7";
"kwin"."ExposeClassCurrentDesktop" = [];
"kwin"."Grid View" = "Meta+G"; "kwin"."Grid View" = "Meta+G";
"kwin"."Increase Opacity" = "none,,Increase Opacity of Active Window by 5%"; "kwin"."Increase Opacity" = [];
"kwin"."Kill Window" = "Meta+Ctrl+Esc"; "kwin"."Kill Window" = "Meta+Ctrl+Esc";
"kwin"."Move Tablet to Next Output" = [];
"kwin"."MoveMouseToCenter" = "Meta+F6"; "kwin"."MoveMouseToCenter" = "Meta+F6";
"kwin"."MoveMouseToFocus" = "Meta+F5"; "kwin"."MoveMouseToFocus" = "Meta+F5";
"kwin"."MoveZoomDown" = [];
"kwin"."MoveZoomLeft" = [];
"kwin"."MoveZoomRight" = [];
"kwin"."MoveZoomUp" = [];
"kwin"."Overview" = "Meta+W"; "kwin"."Overview" = "Meta+W";
"kwin"."Setup Window Shortcut" = "none,,Setup Window Shortcut"; "kwin"."Setup Window Shortcut" = [];
"kwin"."Show Desktop" = "Meta+D"; "kwin"."Show Desktop" = "Meta+D";
"kwin"."ShowDesktopGrid" = "Meta+F8";
"kwin"."Suspend Compositing" = "Alt+Shift+F12";
"kwin"."Switch One Desktop Down" = "Meta+Ctrl+Down"; "kwin"."Switch One Desktop Down" = "Meta+Ctrl+Down";
"kwin"."Switch One Desktop Up" = "Meta+Ctrl+Up"; "kwin"."Switch One Desktop Up" = "Meta+Ctrl+Up";
"kwin"."Switch One Desktop to the Left" = "Meta+Ctrl+Left"; "kwin"."Switch One Desktop to the Left" = "Meta+Ctrl+Left";
@ -187,33 +59,136 @@
"kwin"."Switch Window Right" = "Meta+Alt+Right"; "kwin"."Switch Window Right" = "Meta+Alt+Right";
"kwin"."Switch Window Up" = "Meta+Alt+Up"; "kwin"."Switch Window Up" = "Meta+Alt+Up";
"kwin"."Switch to Desktop 1" = "Ctrl+F1"; "kwin"."Switch to Desktop 1" = "Ctrl+F1";
"kwin"."Switch to Desktop 10" = [];
"kwin"."Switch to Desktop 11" = [];
"kwin"."Switch to Desktop 12" = [];
"kwin"."Switch to Desktop 13" = [];
"kwin"."Switch to Desktop 14" = [];
"kwin"."Switch to Desktop 15" = [];
"kwin"."Switch to Desktop 16" = [];
"kwin"."Switch to Desktop 17" = [];
"kwin"."Switch to Desktop 18" = [];
"kwin"."Switch to Desktop 19" = [];
"kwin"."Switch to Desktop 2" = "Ctrl+F2"; "kwin"."Switch to Desktop 2" = "Ctrl+F2";
"kwin"."Switch to Desktop 20" = [];
"kwin"."Switch to Desktop 3" = "Ctrl+F3"; "kwin"."Switch to Desktop 3" = "Ctrl+F3";
"kwin"."Switch to Desktop 4" = "Ctrl+F4"; "kwin"."Switch to Desktop 4" = "Ctrl+F4";
"kwin"."Switch to Desktop 5" = [];
"kwin"."Switch to Desktop 6" = [];
"kwin"."Switch to Desktop 7" = [];
"kwin"."Switch to Desktop 8" = [];
"kwin"."Switch to Desktop 9" = [];
"kwin"."Switch to Next Desktop" = [];
"kwin"."Switch to Next Screen" = [];
"kwin"."Switch to Previous Desktop" = [];
"kwin"."Switch to Previous Screen" = [];
"kwin"."Switch to Screen 0" = [];
"kwin"."Switch to Screen 1" = [];
"kwin"."Switch to Screen 2" = [];
"kwin"."Switch to Screen 3" = [];
"kwin"."Switch to Screen 4" = [];
"kwin"."Switch to Screen 5" = [];
"kwin"."Switch to Screen 6" = [];
"kwin"."Switch to Screen 7" = [];
"kwin"."Switch to Screen Above" = [];
"kwin"."Switch to Screen Below" = [];
"kwin"."Switch to Screen to the Left" = [];
"kwin"."Switch to Screen to the Right" = [];
"kwin"."Toggle Night Color" = [];
"kwin"."Toggle Window Raise/Lower" = [];
"kwin"."Walk Through Desktop List" = [];
"kwin"."Walk Through Desktop List (Reverse)" = [];
"kwin"."Walk Through Desktops" = [];
"kwin"."Walk Through Desktops (Reverse)" = [];
"kwin"."Walk Through Windows" = "Alt+Tab"; "kwin"."Walk Through Windows" = "Alt+Tab";
"kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab"; "kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Backtab";
"kwin"."Walk Through Windows of Current Application" = "Alt+`"; "kwin"."Walk Through Windows Alternative" = [];
"kwin"."Walk Through Windows Alternative (Reverse)" = [];
"kwin"."Walk Through Windows of Current Application" = [];
"kwin"."Walk Through Windows of Current Application (Reverse)" = "Alt+~"; "kwin"."Walk Through Windows of Current Application (Reverse)" = "Alt+~";
"kwin"."Walk Through Windows of Current Application Alternative" = [];
"kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = [];
"kwin"."Window Above Other Windows" = [];
"kwin"."Window Below Other Windows" = [];
"kwin"."Window Close" = "Alt+F4"; "kwin"."Window Close" = "Alt+F4";
"kwin"."Window Fullscreen" = [];
"kwin"."Window Grow Horizontal" = [];
"kwin"."Window Grow Vertical" = [];
"kwin"."Window Lower" = [];
"kwin"."Window Maximize" = "Meta+PgUp"; "kwin"."Window Maximize" = "Meta+PgUp";
"kwin"."Window Maximize Horizontal" = [];
"kwin"."Window Maximize Vertical" = [];
"kwin"."Window Minimize" = "Meta+PgDown"; "kwin"."Window Minimize" = "Meta+PgDown";
"kwin"."Window Move" = [];
"kwin"."Window Move Center" = [];
"kwin"."Window No Border" = [];
"kwin"."Window On All Desktops" = [];
"kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down"; "kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
"kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up"; "kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
"kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left"; "kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
"kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right"; "kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
"kwin"."Window One Screen Down" = [];
"kwin"."Window One Screen Up" = [];
"kwin"."Window One Screen to the Left" = [];
"kwin"."Window One Screen to the Right" = [];
"kwin"."Window Operations Menu" = "Alt+F3"; "kwin"."Window Operations Menu" = "Alt+F3";
"kwin"."Window Pack Down" = [];
"kwin"."Window Pack Left" = [];
"kwin"."Window Pack Right" = [];
"kwin"."Window Pack Up" = [];
"kwin"."Window Quick Tile Bottom" = "Meta+Down"; "kwin"."Window Quick Tile Bottom" = "Meta+Down";
"kwin"."Window Quick Tile Bottom Left" = [];
"kwin"."Window Quick Tile Bottom Right" = [];
"kwin"."Window Quick Tile Left" = "Meta+Left"; "kwin"."Window Quick Tile Left" = "Meta+Left";
"kwin"."Window Quick Tile Right" = "Meta+Right"; "kwin"."Window Quick Tile Right" = "Meta+Right";
"kwin"."Window Quick Tile Top" = "Meta+Up"; "kwin"."Window Quick Tile Top" = "Meta+Up";
"kwin"."Window to Next Screen" = "Meta+Shift+Right"; "kwin"."Window Quick Tile Top Left" = [];
"kwin"."Window to Previous Desktop" = "none,,Window to Previous Desktop"; "kwin"."Window Quick Tile Top Right" = [];
"kwin"."Window to Previous Screen" = "Meta+Shift+Left"; "kwin"."Window Raise" = [];
"kwin"."view_actual_size" = "\\, Meta+0\\, ,Meta+0,Zoom to Actual Size"; "kwin"."Window Resize" = [];
"kwin"."view_zoom_in" = ["Meta++" "Meta+=,Meta++" "Meta+=,Zoom In"]; "kwin"."Window Shade" = [];
"kwin"."Window Shrink Horizontal" = [];
"kwin"."Window Shrink Vertical" = [];
"kwin"."Window to Desktop 1" = [];
"kwin"."Window to Desktop 10" = [];
"kwin"."Window to Desktop 11" = [];
"kwin"."Window to Desktop 12" = [];
"kwin"."Window to Desktop 13" = [];
"kwin"."Window to Desktop 14" = [];
"kwin"."Window to Desktop 15" = [];
"kwin"."Window to Desktop 16" = [];
"kwin"."Window to Desktop 17" = [];
"kwin"."Window to Desktop 18" = [];
"kwin"."Window to Desktop 19" = [];
"kwin"."Window to Desktop 2" = [];
"kwin"."Window to Desktop 20" = [];
"kwin"."Window to Desktop 3" = [];
"kwin"."Window to Desktop 4" = [];
"kwin"."Window to Desktop 5" = [];
"kwin"."Window to Desktop 6" = [];
"kwin"."Window to Desktop 7" = [];
"kwin"."Window to Desktop 8" = [];
"kwin"."Window to Desktop 9" = [];
"kwin"."Window to Next Desktop" = [];
"kwin"."Window to Next Screen" = [];
"kwin"."Window to Previous Desktop" = [];
"kwin"."Window to Previous Screen" = [];
"kwin"."Window to Screen 0" = [];
"kwin"."Window to Screen 1" = [];
"kwin"."Window to Screen 2" = [];
"kwin"."Window to Screen 3" = [];
"kwin"."Window to Screen 4" = [];
"kwin"."Window to Screen 5" = [];
"kwin"."Window to Screen 6" = [];
"kwin"."Window to Screen 7" = [];
"kwin"."view_actual_size" = "Meta+0";
"kwin"."view_zoom_in" = "Meta++";
"kwin"."view_zoom_out" = "Meta+-"; "kwin"."view_zoom_out" = "Meta+-";
"mediacontrol"."mediavolumedown" = [];
"mediacontrol"."mediavolumeup" = [];
"mediacontrol"."nextmedia" = "Media Next"; "mediacontrol"."nextmedia" = "Media Next";
"mediacontrol"."pausemedia" = "Media Pause"; "mediacontrol"."pausemedia" = "Media Pause";
"mediacontrol"."playmedia" = [];
"mediacontrol"."playpausemedia" = "Media Play"; "mediacontrol"."playpausemedia" = "Media Play";
"mediacontrol"."previousmedia" = "Media Previous"; "mediacontrol"."previousmedia" = "Media Previous";
"mediacontrol"."stopmedia" = "Media Stop"; "mediacontrol"."stopmedia" = "Media Stop";
@ -228,10 +203,10 @@
"org_kde_powerdevil"."PowerOff" = "Power Off"; "org_kde_powerdevil"."PowerOff" = "Power Off";
"org_kde_powerdevil"."Sleep" = "Sleep"; "org_kde_powerdevil"."Sleep" = "Sleep";
"org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off"; "org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off";
"org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B,Battery" "Meta+B,Switch Power Profile"]; "org_kde_powerdevil"."Turn Off Screen" = [];
"plasmashell"."activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"]; "org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B"];
"plasmashell"."activate task manager entry 1" = "Meta+1"; "plasmashell"."activate task manager entry 1" = "Meta+1";
"plasmashell"."activate task manager entry 10" = ",Meta+0,Activate Task Manager Entry 10"; "plasmashell"."activate task manager entry 10" = [];
"plasmashell"."activate task manager entry 2" = "Meta+2"; "plasmashell"."activate task manager entry 2" = "Meta+2";
"plasmashell"."activate task manager entry 3" = "Meta+3"; "plasmashell"."activate task manager entry 3" = "Meta+3";
"plasmashell"."activate task manager entry 4" = "Meta+4"; "plasmashell"."activate task manager entry 4" = "Meta+4";
@ -240,41 +215,51 @@
"plasmashell"."activate task manager entry 7" = "Meta+7"; "plasmashell"."activate task manager entry 7" = "Meta+7";
"plasmashell"."activate task manager entry 8" = "Meta+8"; "plasmashell"."activate task manager entry 8" = "Meta+8";
"plasmashell"."activate task manager entry 9" = "Meta+9"; "plasmashell"."activate task manager entry 9" = "Meta+9";
"plasmashell"."clear-history" = "none,,Clear Clipboard History"; "plasmashell"."clear-history" = [];
"plasmashell"."clipboard_action" = "Meta+Ctrl+X"; "plasmashell"."clipboard_action" = "Meta+Ctrl+X";
"plasmashell"."cycle-panels" = "Meta+Alt+P"; "plasmashell"."cycle-panels" = "Meta+Alt+P";
"plasmashell"."cycleNextAction" = [];
"plasmashell"."cyclePrevAction" = [];
"plasmashell"."edit_clipboard" = []; "plasmashell"."edit_clipboard" = [];
"plasmashell"."manage activities" = "Meta+Q"; "plasmashell"."manage activities" = "Meta+Q";
"plasmashell"."next activity" = "Meta+Tab";
"plasmashell"."previous activity" = "Meta+Shift+Tab";
"plasmashell"."repeat_action" = "Meta+Ctrl+R"; "plasmashell"."repeat_action" = "Meta+Ctrl+R";
"plasmashell"."show dashboard" = "Ctrl+F12"; "plasmashell"."show dashboard" = "Ctrl+F12";
"plasmashell"."show-barcode" = [];
"plasmashell"."show-on-mouse-pos" = "Meta+V"; "plasmashell"."show-on-mouse-pos" = "Meta+V";
"plasmashell"."stop current activity" = "Meta+S"; "plasmashell"."stop current activity" = "Meta+S";
"services/org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Alt+F2" "Ctrl+Shift+Space" "Search"]; "plasmashell"."switch to next activity" = [];
"plasmashell"."switch to previous activity" = [];
"plasmashell"."toggle do not disturb" = [];
"services/org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc"; "services/org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
"services/org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["Meta+Print" "Ctrl+!"]; "services/org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["Meta+Print" "Ctrl+!"];
"services/org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#"; "services/org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
"services/org.kde.spectacle.desktop"."FullScreenScreenShot" = ["Ctrl+$" "Shift+Print"]; "services/org.kde.spectacle.desktop"."FullScreenScreenShot" = ["Ctrl+$" "Shift+Print"];
"services/org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^"; "services/org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
"services/org.kde.spectacle.desktop"."RecordRegion" = [];
"services/org.kde.spectacle.desktop"."RecordScreen" = [];
"services/org.kde.spectacle.desktop"."RecordWindow" = [];
"services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["Ctrl+@" "Meta+Shift+Print"]; "services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["Ctrl+@" "Meta+Shift+Print"];
"services/org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["Meta+Ctrl+Print" "Ctrl+%"]; "services/org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["Meta+Ctrl+Print" "Ctrl+%"];
"services/org.kde.spectacle.desktop"."_launch" = "Print"; "services/org.kde.spectacle.desktop"."_launch" = "Print";
"services/services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc"; "services/services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
"services/services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "" "" "Meta+Print" "Ctrl+!"]; "services/services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "Meta+Print" "Ctrl+!"];
"services/services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#"; "services/services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
"services/services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "" "" "Ctrl+$" "Shift+Print"]; "services/services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "Ctrl+$" "Shift+Print"];
"services/services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^"; "services/services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
"services/services.org.kde.spectacle.desktop"."RecordWindow" = []; "services/services.org.kde.spectacle.desktop"."RecordWindow" = [];
"services/services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "" "" "Ctrl+@" "Meta+Shift+Print"]; "services/services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "Ctrl+@" "Meta+Shift+Print"];
"services/services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"]; "services/services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"];
"services/services.org.kde.spectacle.desktop"."_launch" = "Print"; "services/services.org.kde.spectacle.desktop"."_launch" = "Print";
"services/services.services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc"; "services/services.services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc";
"services/services.services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "" "" "" "Meta+Print" "Ctrl+!"]; "services/services.services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "" "Meta+Print" "Ctrl+!"];
"services/services.services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#"; "services/services.services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#";
"services/services.services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "" "" "" "Ctrl+$" "Shift+Print"]; "services/services.services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "" "Ctrl+$" "Shift+Print"];
"services/services.services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^"; "services/services.services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^";
"services/services.services.org.kde.spectacle.desktop"."RecordWindow" = []; "services/services.services.org.kde.spectacle.desktop"."RecordWindow" = [];
"services/services.services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "" "" "" "Ctrl+@" "Meta+Shift+Print"]; "services/services.services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "" "Ctrl+@" "Meta+Shift+Print"];
"services/services.services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"]; "services/services.services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"];
"services/services.services.org.kde.spectacle.desktop"."_launch" = "Print"; "services/services.services.org.kde.spectacle.desktop"."_launch" = "Print";
}; };
configFile = { configFile = {
@ -283,11 +268,8 @@
"baloofilerc"."General"."exclude filters version" = 8; "baloofilerc"."General"."exclude filters version" = 8;
"dolphinrc"."ExtractDialog"."1536x864 screen: Height" = 560; "dolphinrc"."ExtractDialog"."1536x864 screen: Height" = 560;
"dolphinrc"."ExtractDialog"."1536x864 screen: Width" = 1024; "dolphinrc"."ExtractDialog"."1536x864 screen: Width" = 1024;
"dolphinrc"."ExtractDialog"."1920x1080 screen: Height" = 540; "dolphinrc"."ExtractDialog"."DirHistory[$e]" = "/home/";
"dolphinrc"."ExtractDialog"."1920x1080 screen: Width" = 1260;
"dolphinrc"."ExtractDialog"."DirHistoryx5b$ex5d" = "/home/";
"dolphinrc"."General"."RememberOpenedTabs" = false; "dolphinrc"."General"."RememberOpenedTabs" = false;
"dolphinrc"."General"."ViewPropsTimestamp" = "2024,8,28,22,44,37.273";
"dolphinrc"."IconsMode"."PreviewSize" = 80; "dolphinrc"."IconsMode"."PreviewSize" = 80;
"dolphinrc"."KFileDialog Settings"."Places Icons Auto-resize" = false; "dolphinrc"."KFileDialog Settings"."Places Icons Auto-resize" = false;
"dolphinrc"."KFileDialog Settings"."Places Icons Static Size" = 22; "dolphinrc"."KFileDialog Settings"."Places Icons Static Size" = 22;
@ -296,128 +278,6 @@
"dolphinrc"."Search"."Location" = "Everywhere"; "dolphinrc"."Search"."Location" = "Everywhere";
"kactivitymanagerdrc"."activities"."a2cd7f51-1f1f-47a8-9544-a4c401f57a12" = "Default"; "kactivitymanagerdrc"."activities"."a2cd7f51-1f1f-47a8-9544-a4c401f57a12" = "Default";
"kactivitymanagerdrc"."main"."currentActivity" = "a2cd7f51-1f1f-47a8-9544-a4c401f57a12"; "kactivitymanagerdrc"."main"."currentActivity" = "a2cd7f51-1f1f-47a8-9544-a4c401f57a12";
"katerc"."General"."Days Meta Infos" = 30;
"katerc"."General"."Save Meta Infos" = true;
"katerc"."General"."Show Full Path in Title" = false;
"katerc"."General"."Show Menu Bar" = true;
"katerc"."General"."Show Status Bar" = true;
"katerc"."General"."Show Tab Bar" = true;
"katerc"."General"."Show Url Nav Bar" = true;
"katerc"."KTextEditor Document"."Allow End of Line Detection" = true;
"katerc"."KTextEditor Document"."Auto Detect Indent" = true;
"katerc"."KTextEditor Document"."Auto Reload If State Is In Version Control" = true;
"katerc"."KTextEditor Document"."Auto Save" = false;
"katerc"."KTextEditor Document"."Auto Save Interval" = 0;
"katerc"."KTextEditor Document"."Auto Save On Focus Out" = false;
"katerc"."KTextEditor Document"."BOM" = false;
"katerc"."KTextEditor Document"."Backup Local" = false;
"katerc"."KTextEditor Document"."Backup Prefix" = "";
"katerc"."KTextEditor Document"."Backup Remote" = false;
"katerc"."KTextEditor Document"."Backup Suffix" = "~";
"katerc"."KTextEditor Document"."Camel Cursor" = true;
"katerc"."KTextEditor Document"."Encoding" = "UTF-8";
"katerc"."KTextEditor Document"."End of Line" = 0;
"katerc"."KTextEditor Document"."Indent On Backspace" = true;
"katerc"."KTextEditor Document"."Indent On Tab" = true;
"katerc"."KTextEditor Document"."Indent On Text Paste" = false;
"katerc"."KTextEditor Document"."Indentation Mode" = "normal";
"katerc"."KTextEditor Document"."Indentation Width" = 4;
"katerc"."KTextEditor Document"."Keep Extra Spaces" = false;
"katerc"."KTextEditor Document"."Line Length Limit" = 10000;
"katerc"."KTextEditor Document"."Newline at End of File" = true;
"katerc"."KTextEditor Document"."On-The-Fly Spellcheck" = false;
"katerc"."KTextEditor Document"."Overwrite Mode" = false;
"katerc"."KTextEditor Document"."PageUp/PageDown Moves Cursor" = false;
"katerc"."KTextEditor Document"."Remove Spaces" = 1;
"katerc"."KTextEditor Document"."ReplaceTabsDyn" = true;
"katerc"."KTextEditor Document"."Show Spaces" = 0;
"katerc"."KTextEditor Document"."Show Tabs" = true;
"katerc"."KTextEditor Document"."Smart Home" = true;
"katerc"."KTextEditor Document"."Swap Directory" = "";
"katerc"."KTextEditor Document"."Swap File Mode" = 1;
"katerc"."KTextEditor Document"."Swap Sync Interval" = 15;
"katerc"."KTextEditor Document"."Tab Handling" = 2;
"katerc"."KTextEditor Document"."Tab Width" = 4;
"katerc"."KTextEditor Document"."Trailing Marker Size" = 1;
"katerc"."KTextEditor Document"."Word Wrap" = false;
"katerc"."KTextEditor Document"."Word Wrap Column" = 80;
"katerc"."KTextEditor Editor"."Encoding Prober Type" = 1;
"katerc"."KTextEditor Editor"."Fallback Encoding" = "ISO 8859-15";
"katerc"."KTextEditor Renderer"."Animate Bracket Matching" = false;
"katerc"."KTextEditor Renderer"."Auto Color Theme Selection" = true;
"katerc"."KTextEditor Renderer"."Color Theme" = "Catppuccin Macchiato";
"katerc"."KTextEditor Renderer"."Font" = "Hack,10,-1,7,50,0,0,0,0,0";
"katerc"."KTextEditor Renderer"."Line Height Multiplier" = 1;
"katerc"."KTextEditor Renderer"."Show Indentation Lines" = false;
"katerc"."KTextEditor Renderer"."Show Whole Bracket Expression" = false;
"katerc"."KTextEditor Renderer"."Word Wrap Marker" = false;
"katerc"."KTextEditor View"."Allow Mark Menu" = true;
"katerc"."KTextEditor View"."Auto Brackets" = true;
"katerc"."KTextEditor View"."Auto Center Lines" = 0;
"katerc"."KTextEditor View"."Auto Completion" = true;
"katerc"."KTextEditor View"."Auto Completion Preselect First Entry" = true;
"katerc"."KTextEditor View"."Backspace Remove Composed Characters" = false;
"katerc"."KTextEditor View"."Bookmark Menu Sorting" = 0;
"katerc"."KTextEditor View"."Bracket Match Preview" = false;
"katerc"."KTextEditor View"."Chars To Enclose Selection" = "<>(){}x5bx5d'\"";
"katerc"."KTextEditor View"."Default Mark Type" = 1;
"katerc"."KTextEditor View"."Dynamic Word Wrap" = true;
"katerc"."KTextEditor View"."Dynamic Word Wrap Align Indent" = 80;
"katerc"."KTextEditor View"."Dynamic Word Wrap At Static Marker" = false;
"katerc"."KTextEditor View"."Dynamic Word Wrap Indicators" = 1;
"katerc"."KTextEditor View"."Dynamic Wrap not at word boundaries" = false;
"katerc"."KTextEditor View"."Enable Tab completion" = false;
"katerc"."KTextEditor View"."Fold First Line" = false;
"katerc"."KTextEditor View"."Folding Bar" = true;
"katerc"."KTextEditor View"."Folding Preview" = true;
"katerc"."KTextEditor View"."Icon Bar" = false;
"katerc"."KTextEditor View"."Input Mode" = 0;
"katerc"."KTextEditor View"."Keyword Completion" = true;
"katerc"."KTextEditor View"."Line Modification" = true;
"katerc"."KTextEditor View"."Line Numbers" = true;
"katerc"."KTextEditor View"."Max Clipboard History Entries" = 20;
"katerc"."KTextEditor View"."Maximum Search History Size" = 100;
"katerc"."KTextEditor View"."Mouse Paste At Cursor Position" = false;
"katerc"."KTextEditor View"."Multiple Cursor Modifier" = 134217728;
"katerc"."KTextEditor View"."Persistent Selection" = false;
"katerc"."KTextEditor View"."Scroll Bar Marks" = false;
"katerc"."KTextEditor View"."Scroll Bar Mini Map All" = true;
"katerc"."KTextEditor View"."Scroll Bar Mini Map Width" = 60;
"katerc"."KTextEditor View"."Scroll Bar MiniMap" = true;
"katerc"."KTextEditor View"."Scroll Bar Preview" = true;
"katerc"."KTextEditor View"."Scroll Past End" = false;
"katerc"."KTextEditor View"."Search/Replace Flags" = 140;
"katerc"."KTextEditor View"."Shoe Line Ending Type in Statusbar" = false;
"katerc"."KTextEditor View"."Show Documentation With Completion" = true;
"katerc"."KTextEditor View"."Show File Encoding" = true;
"katerc"."KTextEditor View"."Show Focus Frame Around Editor" = true;
"katerc"."KTextEditor View"."Show Folding Icons On Hover Only" = true;
"katerc"."KTextEditor View"."Show Line Count" = false;
"katerc"."KTextEditor View"."Show Scrollbars" = 0;
"katerc"."KTextEditor View"."Show Statusbar Dictionary" = true;
"katerc"."KTextEditor View"."Show Statusbar Highlighting Mode" = true;
"katerc"."KTextEditor View"."Show Statusbar Input Mode" = true;
"katerc"."KTextEditor View"."Show Statusbar Line Column" = true;
"katerc"."KTextEditor View"."Show Statusbar Tab Settings" = true;
"katerc"."KTextEditor View"."Show Word Count" = false;
"katerc"."KTextEditor View"."Smart Copy Cut" = true;
"katerc"."KTextEditor View"."Statusbar Line Column Compact Mode" = true;
"katerc"."KTextEditor View"."Text Drag And Drop" = true;
"katerc"."KTextEditor View"."User Sets Of Chars To Enclose Selection" = "";
"katerc"."KTextEditor View"."Vi Input Mode Steal Keys" = false;
"katerc"."KTextEditor View"."Vi Relative Line Numbers" = false;
"katerc"."KTextEditor View"."Word Completion" = true;
"katerc"."KTextEditor View"."Word Completion Minimal Word Length" = 3;
"katerc"."KTextEditor View"."Word Completion Remove Tail" = true;
"katerc"."KTextEditor::Search"."Search History" = "uuid";
"katerc"."filetree"."editShade" = "93,62,114";
"katerc"."filetree"."listMode" = false;
"katerc"."filetree"."shadingEnabled" = true;
"katerc"."filetree"."showCloseButton" = false;
"katerc"."filetree"."showFullPathOnRoots" = false;
"katerc"."filetree"."showToolbar" = true;
"katerc"."filetree"."sortRole" = 0;
"katerc"."filetree"."viewShade" = "101,69,143";
"kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."MiddleButtonEmulation" = true; "kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."MiddleButtonEmulation" = true;
"kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."NaturalScroll" = true; "kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."NaturalScroll" = true;
"kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."TapToClick" = true; "kcminputrc"."Libinput.1739.30383.CUST0001:00 06CB:76AF Touchpad"."TapToClick" = true;
@ -429,16 +289,10 @@
"kded5rc"."Module-browserintegrationreminder"."autoload" = false; "kded5rc"."Module-browserintegrationreminder"."autoload" = false;
"kded5rc"."Module-device_automounter"."autoload" = false; "kded5rc"."Module-device_automounter"."autoload" = false;
"kded5rc"."PlasmaBrowserIntegration"."shownCount" = 1; "kded5rc"."PlasmaBrowserIntegration"."shownCount" = 1;
"kdeglobals"."DirSelect Dialog"."DirSelectDialog Size" = "960,540";
"kdeglobals"."General"."AccentColor" = "184,117,220"; "kdeglobals"."General"."AccentColor" = "184,117,220";
"kdeglobals"."General"."AllowKDEAppsToRememberWindowPositions" = true; "kdeglobals"."General"."AllowKDEAppsToRememberWindowPositions" = true;
"kdeglobals"."General"."BrowserApplication" = "firefox.desktop"; "kdeglobals"."General"."BrowserApplication" = "firefox.desktop";
"kdeglobals"."General"."LastUsedCustomAccentColor" = "184,117,220"; "kdeglobals"."General"."LastUsedCustomAccentColor" = "184,117,220";
"kdeglobals"."General"."TerminalApplication" = "foot";
"kdeglobals"."General"."TerminalService" = "org.codeberg.dnkl.foot.desktop";
"kdeglobals"."General"."XftAntialias" = true;
"kdeglobals"."General"."XftHintStyle" = "hintslight";
"kdeglobals"."General"."XftSubPixel" = "rgb";
"kdeglobals"."KDE"."AnimationDurationFactor" = 0.7071067811865475; "kdeglobals"."KDE"."AnimationDurationFactor" = 0.7071067811865475;
"kdeglobals"."KDE"."ShowDeleteCommand" = false; "kdeglobals"."KDE"."ShowDeleteCommand" = false;
"kdeglobals"."KDE"."SingleClick" = false; "kdeglobals"."KDE"."SingleClick" = false;
@ -468,6 +322,17 @@
"kdeglobals"."WM"."inactiveBackground" = "42,46,50"; "kdeglobals"."WM"."inactiveBackground" = "42,46,50";
"kdeglobals"."WM"."inactiveBlend" = "161,169,177"; "kdeglobals"."WM"."inactiveBlend" = "161,169,177";
"kdeglobals"."WM"."inactiveForeground" = "161,169,177"; "kdeglobals"."WM"."inactiveForeground" = "161,169,177";
"kglobalshortcutsrc"."ActivityManager"."_k_friendly_name" = "Activity Manager";
"kglobalshortcutsrc"."KDE Keyboard Layout Switcher"."_k_friendly_name" = "Keyboard Layout Switcher";
"kglobalshortcutsrc"."kaccess"."_k_friendly_name" = "Accessibility";
"kglobalshortcutsrc"."kcm_touchpad"."_k_friendly_name" = "Touchpad";
"kglobalshortcutsrc"."khotkeys"."_k_friendly_name" = "Custom Shortcuts Service";
"kglobalshortcutsrc"."kmix"."_k_friendly_name" = "Audio Volume";
"kglobalshortcutsrc"."ksmserver"."_k_friendly_name" = "Session Management";
"kglobalshortcutsrc"."kwin"."_k_friendly_name" = "KWin";
"kglobalshortcutsrc"."mediacontrol"."_k_friendly_name" = "Media Controller";
"kglobalshortcutsrc"."org_kde_powerdevil"."_k_friendly_name" = "KDE Power Management System";
"kglobalshortcutsrc"."plasmashell"."_k_friendly_name" = "plasmashell";
"khotkeysrc"."Data"."DataCount" = 3; "khotkeysrc"."Data"."DataCount" = 3;
"khotkeysrc"."Data_1"."Comment" = "KMenuEdit Global Shortcuts"; "khotkeysrc"."Data_1"."Comment" = "KMenuEdit Global Shortcuts";
"khotkeysrc"."Data_1"."DataCount" = 1; "khotkeysrc"."Data_1"."DataCount" = 1;
@ -1011,7 +876,6 @@
"kservicemenurc"."Show"."setAsWallpaper" = true; "kservicemenurc"."Show"."setAsWallpaper" = true;
"kservicemenurc"."Show"."slideshowfileitemaction" = true; "kservicemenurc"."Show"."slideshowfileitemaction" = true;
"kservicemenurc"."Show"."tagsfileitemaction" = true; "kservicemenurc"."Show"."tagsfileitemaction" = true;
"ksmserverrc"."General"."loginMode" = "restoreSavedSession";
"kwalletrc"."Wallet"."First Use" = false; "kwalletrc"."Wallet"."First Use" = false;
"kwinrc"."Desktops"."Id_1" = "d1e5e218-1fd9-4946-aa47-dab2f5aac755"; "kwinrc"."Desktops"."Id_1" = "d1e5e218-1fd9-4946-aa47-dab2f5aac755";
"kwinrc"."Desktops"."Id_2" = "389927fc-9c76-4f84-ae0d-011cf76868e6"; "kwinrc"."Desktops"."Id_2" = "389927fc-9c76-4f84-ae0d-011cf76868e6";
@ -1025,7 +889,7 @@
"kwinrc"."NightColor"."LatitudeFixed" = 52.31865273558926; "kwinrc"."NightColor"."LatitudeFixed" = 52.31865273558926;
"kwinrc"."NightColor"."LongitudeFixed" = 5.44; "kwinrc"."NightColor"."LongitudeFixed" = 5.44;
"kwinrc"."NightColor"."Mode" = "Location"; "kwinrc"."NightColor"."Mode" = "Location";
"kwinrc"."NightColor"."NightTemperature" = 2000; "kwinrc"."NightColor"."NightTemperature" = 1400;
"kwinrc"."Plugins"."diminactiveEnabled" = true; "kwinrc"."Plugins"."diminactiveEnabled" = true;
"kwinrc"."Plugins"."dimscreenEnabled" = true; "kwinrc"."Plugins"."dimscreenEnabled" = true;
"kwinrc"."Plugins"."wobblywindowsEnabled" = true; "kwinrc"."Plugins"."wobblywindowsEnabled" = true;
@ -1033,11 +897,9 @@
"kwinrc"."Tiling.5242ae1a-0a81-5d7b-ba61-2512b597a159"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}"; "kwinrc"."Tiling.5242ae1a-0a81-5d7b-ba61-2512b597a159"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling.57cc57cb-6089-56ec-afba-00ccd06d5508"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}"; "kwinrc"."Tiling.57cc57cb-6089-56ec-afba-00ccd06d5508"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling.5c337d24-acf0-5ac2-9082-ce9cb012bc2c"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"layoutDirection\":\"vertical\",\"tiles\":x5b{\"height\":0.5,\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.5},{\"width\":0.5}x5d},{\"height\":0.5,\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.5},{\"width\":0.5}x5d}x5d,\"width\":1}x5d}"; "kwinrc"."Tiling.5c337d24-acf0-5ac2-9082-ce9cb012bc2c"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"layoutDirection\":\"vertical\",\"tiles\":x5b{\"height\":0.5,\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.5},{\"width\":0.5}x5d},{\"height\":0.5,\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.5},{\"width\":0.5}x5d}x5d,\"width\":1}x5d}";
"kwinrc"."Tiling/250b82cb-c8d2-50e6-91f9-1fb3d4d4d06b"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.4989583333333353},{\"width\":0.5010416666666646}]}";
"kwinrc"."Tiling/5242ae1a-0a81-5d7b-ba61-2512b597a159"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}"; "kwinrc"."Tiling/5242ae1a-0a81-5d7b-ba61-2512b597a159"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling/57cc57cb-6089-56ec-afba-00ccd06d5508"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; "kwinrc"."Tiling/57cc57cb-6089-56ec-afba-00ccd06d5508"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling/5c337d24-acf0-5ac2-9082-ce9cb012bc2c"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5046875000000002},{\"width\":0.4953124999999998}]}"; "kwinrc"."Tiling/5c337d24-acf0-5ac2-9082-ce9cb012bc2c"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5046875000000002},{\"width\":0.4953124999999998}]}";
"kwinrc"."Tiling/98e47fc8-bbb3-5a3a-b6a8-d051b513a983"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5005208333333331},{\"layoutDirection\":\"vertical\",\"tiles\":[{\"height\":0.5},{\"height\":0.5}],\"width\":0.4994791666666665}]}";
"kwinrc"."Xwayland"."Scale" = 1; "kwinrc"."Xwayland"."Scale" = 1;
"kxkbrc"."Layout"."Options" = "compose:caps"; "kxkbrc"."Layout"."Options" = "compose:caps";
"kxkbrc"."Layout"."ResetOldOptions" = true; "kxkbrc"."Layout"."ResetOldOptions" = true;
@ -1050,135 +912,8 @@
"plasma-localerc"."Formats"."LC_PAPER" = "nl_NL.UTF-8"; "plasma-localerc"."Formats"."LC_PAPER" = "nl_NL.UTF-8";
"plasma-localerc"."Formats"."LC_TELEPHONE" = "nl_NL.UTF-8"; "plasma-localerc"."Formats"."LC_TELEPHONE" = "nl_NL.UTF-8";
"plasma-localerc"."Formats"."LC_TIME" = "en_DK.UTF-8"; "plasma-localerc"."Formats"."LC_TIME" = "en_DK.UTF-8";
"plasmanotifyrc"."Applications/firefox"."Seen" = true;
"plasmanotifyrc"."Applications/floorp"."Seen" = true;
"plasmanotifyrc"."Applications/org.qbittorrent.qBittorrent"."Seen" = true;
"plasmanotifyrc"."Applications/vesktop"."Seen" = true;
"plasmanotifyrc"."Applications/webcord"."Seen" = true;
"plasmarc"."Wallpapers"."usersWallpapers" = ""; "plasmarc"."Wallpapers"."usersWallpapers" = "";
"spectaclerc"."Annotations"."annotationToolType" = 9;
"spectaclerc"."ImageSave"."lastImageSaveLocation" = "file:///home/lillian/Pictures/Screenshots/Screenshot_20241017_154815.png";
"spectaclerc"."ImageSave"."translatedScreenshotsFolder" = "Screenshots";
"spectaclerc"."VideoSave"."translatedScreencastsFolder" = "Screencasts";
"systemsettingsrc"."KFileDialog Settings"."detailViewIconSize" = 16; "systemsettingsrc"."KFileDialog Settings"."detailViewIconSize" = 16;
}; };
dataFile = {
"dolphin/view_properties/global/.directory"."Settings"."HiddenFilesShown" = true;
"kate/anonymous.katesession"."Kate Plugins"."cmaketoolsplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."compilerexplorer" = false;
"kate/anonymous.katesession"."Kate Plugins"."eslintplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."externaltoolsplugin" = true;
"kate/anonymous.katesession"."Kate Plugins"."formatplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katebacktracebrowserplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katebuildplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katecloseexceptplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katecolorpickerplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katectagsplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katefilebrowserplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katefiletreeplugin" = true;
"kate/anonymous.katesession"."Kate Plugins"."kategdbplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."kategitblameplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katekonsoleplugin" = true;
"kate/anonymous.katesession"."Kate Plugins"."kateprojectplugin" = true;
"kate/anonymous.katesession"."Kate Plugins"."katereplicodeplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katesearchplugin" = true;
"kate/anonymous.katesession"."Kate Plugins"."katesnippetsplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katesqlplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katesymbolviewerplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katexmlcheckplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."katexmltoolsplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."keyboardmacrosplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."ktexteditorpreviewplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."latexcompletionplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."lspclientplugin" = true;
"kate/anonymous.katesession"."Kate Plugins"."openlinkplugin" = false;
"kate/anonymous.katesession"."Kate Plugins"."rainbowparens" = false;
"kate/anonymous.katesession"."Kate Plugins"."tabswitcherplugin" = true;
"kate/anonymous.katesession"."Kate Plugins"."textfilterplugin" = true;
"kate/anonymous.katesession"."MainWindow0"."2 screens: Window-Maximized" = true;
"kate/anonymous.katesession"."MainWindow0"."Active ViewSpace" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-H-Splitter" = "0,2514,0";
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-0-Bar-0-TvList" = "kate_private_plugin_katefiletreeplugin,kateproject,kateprojectgit,lspclient_symbol_outline";
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-0-LastSize" = 200;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-0-SectSizes" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-0-Splitter" = 1287;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-1-Bar-0-TvList" = "";
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-1-LastSize" = 200;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-1-SectSizes" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-1-Splitter" = 1287;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-2-Bar-0-TvList" = "";
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-2-LastSize" = 200;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-2-SectSizes" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-2-Splitter" = 2514;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-3-Bar-0-TvList" = "output,diagnostics,kate_plugin_katesearch,kateprojectinfo,kate_private_plugin_katekonsoleplugin";
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-3-LastSize" = 200;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-3-SectSizes" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-3-Splitter" = 2560;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-Style" = 2;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-Visible" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-diagnostics-Position" = 3;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-diagnostics-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-diagnostics-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_plugin_katesearch-Position" = 3;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_plugin_katesearch-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_plugin_katesearch-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katefiletreeplugin-Position" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katefiletreeplugin-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katefiletreeplugin-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katekonsoleplugin-Position" = 3;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katekonsoleplugin-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katekonsoleplugin-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateproject-Position" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateproject-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateproject-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectgit-Position" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectgit-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectgit-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectinfo-Position" = 3;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectinfo-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectinfo-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-lspclient_symbol_outline-Position" = 0;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-lspclient_symbol_outline-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-lspclient_symbol_outline-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-output-Position" = 3;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-output-Show-Button-In-Sidebar" = true;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-output-Visible" = false;
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-V-Splitter" = "0,1285,0";
"kate/anonymous.katesession"."MainWindow0"."MenuBar" = "Disabled";
"kate/anonymous.katesession"."MainWindow0"."ToolBarsMovable" = "Disabled";
"kate/anonymous.katesession"."MainWindow0 Settings"."2 screens: Window-Maximized" = true;
"kate/anonymous.katesession"."MainWindow0 Settings"."MenuBar" = "Disabled";
"kate/anonymous.katesession"."MainWindow0 Settings"."ToolBarsMovable" = "Disabled";
"kate/anonymous.katesession"."MainWindow0 Settings"."WindowState" = 10;
"kate/anonymous.katesession"."MainWindow0-Splitter 0"."Children" = "MainWindow0-ViewSpace 0";
"kate/anonymous.katesession"."MainWindow0-Splitter 0"."Orientation" = 1;
"kate/anonymous.katesession"."MainWindow0-Splitter 0"."Sizes" = 2514;
"kate/anonymous.katesession"."MainWindow0-ViewSpace 0"."Count" = 0;
"kate/anonymous.katesession"."MainWindow0-ViewSpace 0"."Documents" = "";
"kate/anonymous.katesession"."Open Documents"."Count" = 0;
"kate/anonymous.katesession"."Open MainWindows"."Count" = 1;
"kate/anonymous.katesession"."Plugin:kateprojectplugin:"."projects" = "";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."BinaryFiles" = false;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."CurrentExcludeFilter" = "-1";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."CurrentFilter" = "-1";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."ExcludeFilters" = "";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."ExpandSearchResults" = false;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Filters" = "";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."FollowSymLink" = false;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."HiddenFiles" = false;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."MatchCase" = false;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Place" = 1;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Recursive" = true;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Replaces" = "";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Search" = "";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeAllProjects" = true;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeCurrentFile" = true;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeFolder" = true;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeOpenFiles" = true;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeProject" = true;
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchDiskFiles" = "";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchDiskFiless" = "";
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."UseRegExp" = false;
};
}; };
} }

View file

@ -1,7 +0,0 @@
{...}: {
home.file."settings.json" = {
source = ./settings.json;
target = ".config/vesktop/settings/settings.json";
force = true;
};
}

View file

@ -1,602 +0,0 @@
{
"autoUpdate": true,
"autoUpdateNotification": false,
"useQuickCss": true,
"themeLinks": [],
"enabledThemes": [
"stylix.theme.css"
],
"enableReactDevtools": false,
"frameless": false,
"transparent": false,
"winCtrlQ": false,
"disableMinSize": false,
"winNativeTitleBar": false,
"plugins": {
"ChatInputButtonAPI": {
"enabled": true
},
"CommandsAPI": {
"enabled": true
},
"MemberListDecoratorsAPI": {
"enabled": false
},
"MessageAccessoriesAPI": {
"enabled": true
},
"MessageDecorationsAPI": {
"enabled": false
},
"MessageEventsAPI": {
"enabled": true
},
"MessagePopoverAPI": {
"enabled": false
},
"MessageUpdaterAPI": {
"enabled": false
},
"ServerListAPI": {
"enabled": false
},
"UserSettingsAPI": {
"enabled": true
},
"AccountPanelServerProfile": {
"enabled": false
},
"AlwaysAnimate": {
"enabled": false
},
"AlwaysExpandRoles": {
"enabled": false
},
"AlwaysTrust": {
"enabled": true,
"domain": true,
"file": true
},
"AnonymiseFileNames": {
"enabled": true,
"anonymiseByDefault": true,
"method": 0,
"randomisedLength": 7
},
"AppleMusicRichPresence": {
"enabled": false
},
"WebRichPresence (arRPC)": {
"enabled": false
},
"BANger": {
"enabled": false
},
"BetterFolders": {
"enabled": false
},
"BetterGifAltText": {
"enabled": false
},
"BetterGifPicker": {
"enabled": false
},
"BetterNotesBox": {
"enabled": false
},
"BetterRoleContext": {
"enabled": false
},
"BetterRoleDot": {
"enabled": false
},
"BetterSessions": {
"enabled": false
},
"BetterSettings": {
"enabled": false
},
"BetterUploadButton": {
"enabled": false
},
"BiggerStreamPreview": {
"enabled": false
},
"BlurNSFW": {
"enabled": false
},
"CallTimer": {
"enabled": false
},
"ClearURLs": {
"enabled": false
},
"ClientTheme": {
"enabled": false
},
"ColorSighted": {
"enabled": false
},
"ConsoleJanitor": {
"enabled": false
},
"ConsoleShortcuts": {
"enabled": false
},
"CopyEmojiMarkdown": {
"enabled": false
},
"CopyFileContents": {
"enabled": false
},
"CopyUserURLs": {
"enabled": false
},
"CrashHandler": {
"enabled": true
},
"CtrlEnterSend": {
"enabled": false
},
"CustomRPC": {
"enabled": false
},
"CustomIdle": {
"enabled": false
},
"Dearrow": {
"enabled": false
},
"Decor": {
"enabled": false
},
"DisableCallIdle": {
"enabled": false
},
"DontRoundMyTimestamps": {
"enabled": false
},
"EmoteCloner": {
"enabled": false
},
"Experiments": {
"enabled": false
},
"F8Break": {
"enabled": false
},
"FakeNitro": {
"enabled": true,
"enableEmojiBypass": true,
"emojiSize": 48,
"transformEmojis": true,
"enableStickerBypass": true,
"stickerSize": 160,
"transformStickers": true,
"transformCompoundSentence": false,
"enableStreamQualityBypass": true,
"useHyperLinks": true,
"hyperLinkText": "{{NAME}}",
"disableEmbedPermissionCheck": false
},
"FakeProfileThemes": {
"enabled": false
},
"FavoriteEmojiFirst": {
"enabled": false
},
"FavoriteGifSearch": {
"enabled": false
},
"FixCodeblockGap": {
"enabled": false
},
"FixSpotifyEmbeds": {
"enabled": false
},
"FixYoutubeEmbeds": {
"enabled": false
},
"ForceOwnerCrown": {
"enabled": false
},
"FriendInvites": {
"enabled": false
},
"FriendsSince": {
"enabled": false
},
"FullSearchContext": {
"enabled": false
},
"GameActivityToggle": {
"enabled": false
},
"GifPaste": {
"enabled": false
},
"GreetStickerPicker": {
"enabled": false
},
"HideAttachments": {
"enabled": false
},
"iLoveSpam": {
"enabled": false
},
"IgnoreActivities": {
"enabled": false
},
"ImageLink": {
"enabled": false
},
"ImageZoom": {
"enabled": false
},
"ImplicitRelationships": {
"enabled": false
},
"InvisibleChat": {
"enabled": false
},
"KeepCurrentChannel": {
"enabled": false
},
"LastFMRichPresence": {
"enabled": false
},
"LoadingQuotes": {
"enabled": false
},
"MemberCount": {
"enabled": true,
"memberList": true,
"toolTip": true
},
"MentionAvatars": {
"enabled": false
},
"MessageClickActions": {
"enabled": false
},
"MessageLatency": {
"enabled": false
},
"MessageLinkEmbeds": {
"enabled": false
},
"MessageLogger": {
"enabled": false
},
"MessageTags": {
"enabled": false
},
"MoreCommands": {
"enabled": false
},
"MoreKaomoji": {
"enabled": true
},
"MoreUserTags": {
"enabled": false
},
"Moyai": {
"enabled": false
},
"MutualGroupDMs": {
"enabled": false
},
"NewGuildSettings": {
"enabled": false
},
"NoBlockedMessages": {
"enabled": false
},
"NoDevtoolsWarning": {
"enabled": false
},
"NoF1": {
"enabled": false
},
"NoMaskedUrlPaste": {
"enabled": false
},
"NoMosaic": {
"enabled": false
},
"NoOnboardingDelay": {
"enabled": false
},
"NoPendingCount": {
"enabled": false
},
"NoProfileThemes": {
"enabled": false
},
"NoReplyMention": {
"enabled": false
},
"NoScreensharePreview": {
"enabled": false
},
"NoServerEmojis": {
"enabled": false
},
"NoTypingAnimation": {
"enabled": false
},
"NoUnblockToJump": {
"enabled": false
},
"NormalizeMessageLinks": {
"enabled": false
},
"NotificationVolume": {
"enabled": false
},
"NSFWGateBypass": {
"enabled": false
},
"OnePingPerDM": {
"enabled": false
},
"oneko": {
"enabled": false
},
"OpenInApp": {
"enabled": false
},
"OverrideForumDefaults": {
"enabled": false
},
"PartyMode": {
"enabled": false
},
"PauseInvitesForever": {
"enabled": false
},
"PermissionFreeWill": {
"enabled": false
},
"PermissionsViewer": {
"enabled": false
},
"petpet": {
"enabled": true
},
"PictureInPicture": {
"enabled": false
},
"PinDMs": {
"enabled": false
},
"PlainFolderIcon": {
"enabled": false
},
"PlatformIndicators": {
"enabled": false
},
"PreviewMessage": {
"enabled": false
},
"QuickMention": {
"enabled": false
},
"QuickReply": {
"enabled": false
},
"ReactErrorDecoder": {
"enabled": false
},
"ReadAllNotificationsButton": {
"enabled": false
},
"RelationshipNotifier": {
"enabled": false
},
"ReplaceGoogleSearch": {
"enabled": false
},
"ReplyTimestamp": {
"enabled": false
},
"RevealAllSpoilers": {
"enabled": false
},
"ReverseImageSearch": {
"enabled": false
},
"ReviewDB": {
"enabled": false
},
"RoleColorEverywhere": {
"enabled": false
},
"SecretRingToneEnabler": {
"enabled": false
},
"Summaries": {
"enabled": false
},
"SendTimestamps": {
"enabled": true,
"replaceMessageContents": true
},
"ServerInfo": {
"enabled": false
},
"ServerListIndicators": {
"enabled": false
},
"ShikiCodeblocks": {
"enabled": true,
"useDevIcon": "COLOR",
"theme": "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dracula.json",
"tryHljs": "SECONDARY",
"bgOpacity": 100
},
"ShowAllMessageButtons": {
"enabled": false
},
"ShowConnections": {
"enabled": false
},
"ShowHiddenChannels": {
"enabled": false
},
"ShowHiddenThings": {
"enabled": false
},
"ShowMeYourName": {
"enabled": false
},
"ShowTimeoutDuration": {
"enabled": false
},
"SilentMessageToggle": {
"enabled": false
},
"SilentTyping": {
"enabled": false
},
"SortFriendRequests": {
"enabled": false
},
"SpotifyControls": {
"enabled": false
},
"SpotifyCrack": {
"enabled": false
},
"SpotifyShareCommands": {
"enabled": false
},
"StartupTimings": {
"enabled": false
},
"StickerPaste": {
"enabled": false
},
"StreamerModeOnStream": {
"enabled": false
},
"SuperReactionTweaks": {
"enabled": false
},
"TextReplace": {
"enabled": false
},
"ThemeAttributes": {
"enabled": false
},
"Translate": {
"enabled": false
},
"TypingIndicator": {
"enabled": false
},
"TypingTweaks": {
"enabled": false
},
"Unindent": {
"enabled": false
},
"UnlockedAvatarZoom": {
"enabled": false
},
"UnsuppressEmbeds": {
"enabled": false
},
"UserVoiceShow": {
"enabled": false
},
"USRBG": {
"enabled": false
},
"ValidReply": {
"enabled": false
},
"ValidUser": {
"enabled": false
},
"VoiceChatDoubleClick": {
"enabled": false
},
"VcNarrator": {
"enabled": false
},
"VencordToolbox": {
"enabled": false
},
"ViewIcons": {
"enabled": false
},
"ViewRaw": {
"enabled": false
},
"VoiceDownload": {
"enabled": false
},
"VoiceMessages": {
"enabled": false
},
"VolumeBooster": {
"enabled": false
},
"WebKeybinds": {
"enabled": true
},
"WebScreenShareFixes": {
"enabled": true
},
"WhoReacted": {
"enabled": false
},
"XSOverlay": {
"enabled": false
},
"YoutubeAdblock": {
"enabled": true
},
"NoTrack": {
"enabled": true,
"disableAnalytics": true
},
"WebContextMenus": {
"enabled": true,
"addBack": true
},
"Settings": {
"enabled": true,
"settingsLocation": "aboveNitro"
},
"SupportHelper": {
"enabled": true
},
"UserMessagesPronouns": {
"enabled": true,
"showInMessages": true,
"showSelf": true,
"pronounSource": 0,
"pronounsFormat": "LOWERCASE"
},
"DynamicImageModalAPI": {
"enabled": false
},
"FixImagesQuality": {
"enabled": false
}
},
"notifications": {
"timeout": 5000,
"position": "bottom-right",
"useNative": "not-focused",
"logLimit": 50
},
"cloud": {
"authenticated": false,
"url": "https://api.vencord.dev/",
"settingsSync": false,
"settingsSyncVersion": 1734993730812
}
}

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
./lillian.nix ./lillian.nix

View file

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILhwA+ZdP2tEBYQNdzLHZzFHxocyeqzhXI6tFpaZA3PZ lillian@EDI

View file

@ -1,6 +1,13 @@
# This is your home-manager configuration file # This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{pkgs, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
# If you want to use modules your own flake exports (from modules/home-manager): # If you want to use modules your own flake exports (from modules/home-manager):
@ -19,5 +26,5 @@
]; ];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "25.05"; home.stateVersion = "24.11";
} }

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
./lillian.nix ./lillian.nix

View file

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH30G2PJOnI6jnAtxOQV0SpLFUva0adarLZLvaoZvjGE lillian@GLaDOS

View file

@ -1,6 +1,13 @@
# This is your home-manager configuration file # This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{pkgs, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
# If you want to use modules your own flake exports (from modules/home-manager): # If you want to use modules your own flake exports (from modules/home-manager):
@ -16,16 +23,15 @@
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
heroic
r2modman r2modman
ryujinx
lutris
]; ];
programs.mangohud = { programs.mangohud = {
enable = true; enable = true;
# enableSessionWide = true; enableSessionWide = true;
}; };
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "25.05"; home.stateVersion = "24.11";
} }

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
./lillian.nix ./lillian.nix

View file

@ -1,6 +1,13 @@
# This is your home-manager configuration file # This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{pkgs, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
# If you want to use modules your own flake exports (from modules/home-manager): # If you want to use modules your own flake exports (from modules/home-manager):
@ -19,5 +26,5 @@
]; ];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "25.05"; home.stateVersion = "24.11";
} }

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
./lillian.nix ./lillian.nix

View file

@ -1,6 +1,13 @@
# This is your home-manager configuration file # This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{pkgs, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
# If you want to use modules your own flake exports (from modules/home-manager): # If you want to use modules your own flake exports (from modules/home-manager):
@ -18,5 +25,5 @@
]; ];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "25.05"; home.stateVersion = "24.11";
} }

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
./lillian.nix ./lillian.nix

View file

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINl+QRyKBYm+sx0hUiD2u6FBdT7aXsZBGUxm4cb7r24k lillian@GLaDOS

View file

@ -1,6 +1,13 @@
# This is your home-manager configuration file # This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
# If you want to use modules your own flake exports (from modules/home-manager): # If you want to use modules your own flake exports (from modules/home-manager):
@ -35,5 +42,5 @@
}; };
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "25.05"; home.stateVersion = "24.11";
} }

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
./lillian.nix ./lillian.nix

View file

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKRT5MqPrYUhhD5rJFp0PQbkTRtGcNaCaTxEkZw9RiVT lillian@GLaDOS

View file

@ -1,6 +1,13 @@
# This is your home-manager configuration file # This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{pkgs, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
# If you want to use modules your own flake exports (from modules/home-manager): # If you want to use modules your own flake exports (from modules/home-manager):
@ -16,8 +23,6 @@
../../desktop/package-configs/firefox.nix ../../desktop/package-configs/firefox.nix
../../desktop/package-configs/konsole ../../desktop/package-configs/konsole
../../desktop/package-configs/foot ../../desktop/package-configs/foot
../../desktop/package-configs/freetube
../../desktop/package-configs/vesktop
../../shared ../../shared
]; ];
nixpkgs = { nixpkgs = {
@ -47,7 +52,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
#Chat: #Chat:
vesktop webcord-vencord
#Gaming: #Gaming:
prismlauncher prismlauncher
@ -58,18 +63,17 @@
freetube freetube
obs-studio obs-studio
vlc vlc
fcast-receiver
fcast-client
# System tools: # System tools:
rage rage
discover
flameshot flameshot
fzf fzf
nextcloud-client nextcloud-client
nitrokey-app nitrokey-app
protonvpn-gui protonvpn-gui
sops sops
#watchmate watchmate
qbittorrent qbittorrent
zsh zsh
@ -86,29 +90,24 @@
firefox firefox
ungoogled-chromium ungoogled-chromium
]; ];
programs = {
# # Automount services for user
# programs.bashmount.enable = true;
# services.udiskie = {
# enable = true;
# automount = true;
# notify = false;
# tray = "never";
# };
# Enable home-manager and git # # Automount services for user
home-manager.enable = true; # programs.bashmount.enable = true;
git = { # services.udiskie = {
enable = true; # enable = true;
userEmail = "git@lillianviolet.dev"; # automount = true;
userName = "Lillian-Violet"; # notify = false;
signing.format = "ssh"; # tray = "never";
}; # };
# Enable home-manager and git
programs.home-manager.enable = true;
programs.git = {
enable = true;
userEmail = "git@lillianviolet.dev";
userName = "Lillian-Violet";
}; };
# Make the kde screenlock not require a password :)
programs.plasma.kscreenlocker.passwordRequired = false;
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "25.05"; home.stateVersion = "24.11";
} }

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
./lillian.nix ./lillian.nix

View file

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMrmRjLF2tVkWeV7EOgUiF77Q9t+rBziRAdOPo92pyvF lillian@GLaDOS

View file

@ -1,6 +1,13 @@
# This is your home-manager configuration file # This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
# If you want to use modules your own flake exports (from modules/home-manager): # If you want to use modules your own flake exports (from modules/home-manager):
@ -11,7 +18,8 @@
# You can also split up your configuration and import pieces of it here: # You can also split up your configuration and import pieces of it here:
# ./nvim.nix # ./nvim.nix
../../shared ../../package-configs/zsh.nix
../../package-configs/helix.nix
]; ];
nixpkgs = { nixpkgs = {
@ -35,5 +43,5 @@
}; };
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "25.05"; home.stateVersion = "24.05";
} }

View file

@ -1,46 +0,0 @@
[
{
"command": "systemctl poweroff",
"name": "shutdown"
},
{
"command": "systemctl reboot",
"name": "reboot"
},
{
"command": "systemctl suspend",
"name": "suspend"
},
{
"command": "systemctl hibernate",
"name": "hibernate"
},
{
"command": "loginctl lock-session",
"name": "lock"
},
{
"command": "loginctl unlock-session",
"name": "unlock"
},
{
"command": "qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \"mute\"",
"name": "mute"
},
{
"command": "qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \"mic_mute\"",
"name": "mute mic"
},
{
"command": "file=/tmp/$(hostname)_$(date \"+%Y%m%d_%H%M%S\").png; spectacle -bo \"${file}\" && while ! [ -f \"${file}\" ]; do sleep 0.5; done && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \"${file}\"",
"name": "screenshot to phone"
},
{
"command": "file=\"$HOME/Images/WebcamImage_$(date \"+%Y%m%d_%H%M%S\").jpg\"; ffmpeg -f video4linux2 -s 1280x720 -i /dev/video0 -ss 0:0:2 -frames 1 \"${file}\" && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \"${file}\"",
"name": "webcam to phone"
},
{
"command": "",
"name": ""
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

View file

@ -1,11 +1,12 @@
{ {
pkgs, inputs,
osConfig, outputs,
lib, lib,
config,
pkgs,
... ...
}: { }: {
imports = [ imports = [
./ssh
./shell/helix ./shell/helix
./shell/zellij ./shell/zellij
./shell/zsh.nix ./shell/zsh.nix
@ -16,74 +17,12 @@
home = { home = {
username = "lillian"; username = "lillian";
homeDirectory = "/home/lillian"; homeDirectory = "/home/lillian";
file."id_ed25519.pub" = {
source = ../hosts/${osConfig.networking.hostName}/id_ed25519.pub;
target = ".ssh/id_ed25519.pub";
force = true;
};
};
catppuccin = {
flavor = "macchiato";
btop.enable = true;
cache.enable = true;
chromium.enable = true;
freetube.enable = true;
freetube.flavor = "macchiato";
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
# System tools: # System tools:
vscode-langservers-extracted
sops sops
zsh zsh
bat bat
btop
broot
lazygit
navi
nil
gh
]; ];
programs = {
navi.enable = true;
yazi = {
enable = true;
# package = pkgs.yazi.override {
# _7zz = pkgs._7zz.override {useUasm = true;};
# };
};
};
# stylix.enable = true;
# qt.platformTheme.name = lib.mkForce "kvantum";
# qt.style.name = lib.mkForce "kvantum";
# stylix = {
# enable = true;
# autoEnable = true;
# base16Scheme = {
# scheme = "Catppuccin Macchiato";
# author = "https://github.com/catppuccin/catppuccin";
# base00 = "24273a";
# base01 = "1e2030";
# base02 = "363a4f";
# base03 = "494d64";
# base04 = "5b6078";
# base05 = "cad3f5";
# base06 = "f4dbd6";
# base07 = "b7bdf8";
# base08 = "ed8796";
# base09 = "f5a97f";
# base0A = "eed49f";
# base0B = "a6da95";
# base0C = "8bd5ca";
# base0D = "8aadf4";
# base0E = "c6a0f6";
# base0F = "f0c6c6";
# };
# image = ./background.jpg;
# cursor.package = pkgs.catppuccin-cursors;
# cursor.name = "catppuccin-macchiato-mauve-cursors";
# cursor.size = 16;
# };
} }

View file

@ -1,7 +1,11 @@
{pkgs, ...}: { {
lib,
pkgs,
...
}: {
programs.bat = { programs.bat = {
enable = true; enable = true;
extraPackages = with pkgs.bat-extras; [batdiff batman batgrep batwatch]; extraPackages = with pkgs.bat-extras; [batdiff batman batgrep batwatch];
# catppuccin.enable = true; catppuccin.enable = true;
}; };
} }

View file

@ -1,4 +1,4 @@
{...}: { {lib, ...}: {
programs.eza = { programs.eza = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;

View file

@ -1,58 +1,16 @@
{pkgs, ...}: let {
yazi = config,
pkgs.writeText "open_in_helix_from_yazi.zsh" lib,
'' pkgs,
#! ~/.nix-profile/bin/zsh ...
files=(''${(fqq)"$( yazi --chooser-file=/dev/stdout | cat )"}) }: {
zellij action toggle-floating-panes
zellij action write 27 # send escape-key
zellij action write-chars ":open $files"
zellij action write 13 # send enter-key
zellij action toggle-floating-panes
zellij action close-pane
'';
jupyter =
pkgs.writeText "run_jupyter_from_helix.zsh"
''
#! ~/.nix-profile/bin/zsh
is_new() {
new=0;
mkdir -p /tmp/rjh;
if [[ -a "/tmp/rjh/$(pwd | tr \"/\" -).json" ]]; then
new=1
fi
return $new
}
is_new && zellij run -f -n "jupyter console" -- direnv exec . jupyter console --kernel="$1" -f="/tmp/rjh/$(pwd | tr \"/\" -).json" --ZMQTerminalInteractiveShell.include_other_output=True --ZMQTerminalInteractiveShell.other_output_prefix=''' && sleep 3
rm -f /tmp/pipe-rjh
mkfifo /tmp/pipe-rjh
cat > /tmp/pipe-rjh
zellij run -f -n "REPL" -- direnv exec . just send < /tmp/pipe-rjh
rm /tmp/pipe-rjh
'';
in {
programs.helix = { programs.helix = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
settings = { settings = {
# theme = "catppuccin_macchiato"; # Don't need this because the module themes it for us theme = "catppuccin_macchiato";
keys.normal.backspace = {
b = ":sh zellij run -f -n 'build code' -- direnv exec . just build";
r = ":sh zellij run -f -n 'run code' -- direnv exec . just run";
t = ":sh zellij run -f -n 'test code' -- direnv exec . just test";
g = ":sh zellij run -fc -n 'lazygit' -- lazygit";
f = ":sh zellij run --floating -n 'yazi picker' -- zsh ~/.config/helix/open_in_helix_from_yazi.zsh ";
j = ":pipe-to just jupyter";
};
editor = { editor = {
auto-save = {
focus-lost = true;
after-delay.enable = true;
after-delay.timeout = 3000;
};
line-number = "relative"; line-number = "relative";
lsp.display-messages = true; lsp.display-messages = true;
lsp.display-inlay-hints = true; lsp.display-inlay-hints = true;
@ -78,7 +36,7 @@ in {
language-id = "python"; language-id = "python";
auto-format = true; auto-format = true;
file-types = ["py"]; file-types = ["py"];
language-servers = ["ruff" "scls" "pylsp"]; language-servers = ["ruff" "scls"];
} }
{ {
name = "typst"; name = "typst";
@ -116,58 +74,8 @@ in {
args = ["-q"]; args = ["-q"];
}; };
} }
{
name = "html";
language-id = "html";
auto-format = true;
file-types = ["htm" "html"];
language-servers = ["vscode-html-language-server" "vscode-eslint-language-server"];
}
{
name = "css";
language-id = "css";
auto-format = true;
file-types = ["css"];
language-servers = ["vscode-css-language-server" "vscode-eslint-language-server"];
}
{
name = "json";
language-id = "json";
auto-format = true;
file-types = ["json"];
language-servers = ["vscode-json-language-server" "vscode-eslint-language-server"];
}
]; ];
language-server = { language-server = {
vscode-html-language-server = {
command = "vscode-html-language-server";
};
vscode-css-language-server = {
command = "vscode-css-language-server";
};
vscode-eslint-language-server = {
command = "vscode-eslint-language-server";
};
vscode-json-language-server = {
command = "vscode-json-language-server";
};
pylsp = {
config.pylsp.plugins = {
flake8 = {enabled = false;};
autopep8 = {enabled = false;};
mccabe = {enabled = false;};
pycodestyle = {enabled = false;};
pyflakes = {enabled = false;};
pylint = {enabled = false;};
yapf = {enabled = false;};
ruff = {
enabled = true;
select = ["E" "F" "UP" "B" "SIM" "I" "PD" "NPY" "PERF" "FURB" "DOC" "TRY" "W" "R" "PL" "TCH" "Q" "PT" "ICN" "C4" "COM" "FBT" "S" "N"];
ignore = ["F401"];
lineLength = 120;
};
};
};
ruff = { ruff = {
command = "ruff-lsp"; command = "ruff-lsp";
}; };
@ -200,17 +108,4 @@ in {
target = ".config/helix/external-snippets.toml"; target = ".config/helix/external-snippets.toml";
}; };
}; };
home.file = {
"yazi" = {
source = "${yazi}";
target = ".config/helix/open_in_helix_from_yazi.zsh";
};
};
home.file = {
"jupyter" = {
source = "${jupyter}";
target = ".config/helix/run_jupyter_from_helix.zsh";
};
};
} }

View file

@ -1,46 +0,0 @@
{
fetchzip,
lib,
rustPlatform,
git,
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
pname = "helix";
version = "25.01.1";
# This release tarball includes source code for the tree-sitter grammars,
# which is not ordinarily part of the repository.
src = fetchzip {
url = "https://github.com/helix-editor/helix/releases/download/${version}/helix-${version}-source.tar.xz";
hash = "";
stripRoot = false;
};
useFetchCargoVendor = true;
cargoHash = "";
nativeBuildInputs = [git installShellFiles];
env.HELIX_DEFAULT_RUNTIME = "${placeholder "out"}/lib/runtime";
postInstall = ''
# not needed at runtime
rm -r runtime/grammars/sources
mkdir -p $out/lib
cp -r runtime $out/lib
installShellCompletion contrib/completion/hx.{bash,fish,zsh}
mkdir -p $out/share/{applications,icons/hicolor/256x256/apps}
cp contrib/Helix.desktop $out/share/applications
cp contrib/helix.png $out/share/icons/hicolor/256x256/apps
'';
meta = with lib; {
description = "Post-modern modal text editor";
homepage = "https://helix-editor.com";
license = licenses.mpl20;
mainProgram = "hx";
maintainers = with maintainers; [danth yusdacra zowoq];
};
}

View file

@ -1,4 +1,9 @@
{...}: { {
config,
lib,
pkgs,
...
}: {
programs.hyfetch = { programs.hyfetch = {
enable = true; enable = true;
settings = { settings = {

View file

@ -35,6 +35,7 @@
git_branch.style = "bold blue"; git_branch.style = "bold blue";
directory.style = "bold blue"; directory.style = "bold blue";
direnv.disabled = false; direnv.disabled = false;
palette = "catppuccin_${flavor}";
} }
// builtins.fromTOML (builtins.readFile // builtins.fromTOML (builtins.readFile
(pkgs.fetchFromGitHub (pkgs.fetchFromGitHub

View file

@ -1,4 +1,5 @@
{ {
lib,
pkgs, pkgs,
inputs, inputs,
... ...
@ -53,89 +54,6 @@
} }
} }
default_tab_template {
pane size=1 borderless=true {
plugin location="file:${inputs.zjstatus.packages.${pkgs.system}.default}/bin/zjstatus.wasm" {
format_left "#[bg=#1D1D2E,fg=#C9D2F5,bold] {session} {mode} {tabs}"
format_right "#[bg=#C9D2F5,fg=#1D1D2E]#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#C9D2F5,fg=#1D1D2E,bold]{datetime}#[bg=#1D1D2E,fg=#C9D2F5]"
mode_locked "#[fg=magenta,bold] {name} "
mode_normal "#[fg=green,bold] {name} "
mode_resize "#[fg=orange,bold] {name} "
mode_default_to_mode "resize"
tab_normal "#[bg=#C9D2F5,fg=#1D1D2E]#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#C9D2F5,fg=#1D1D2E,bold]{name}{sync_indicator}{fullscreen_indicator}{floating_indicator}#[bg=#C9D2F5,fg=#C9D2F5]#[bg=#1D1D2E,fg=#C9D2F5]"
tab_active "#[bg=#A6DA95,fg=#1D1D2E]#[bg=#A6DA95,fg=#A6DA95]#[bg=#A6DA95,fg=#1D1D2E,bold]{name}{sync_indicator}{fullscreen_indicator}{floating_indicator}#[bg=#A6DA95,fg=#A6DA95]#[bg=#1D1D2E,fg=#A6DA95]"
tab_sync_indicator " "
tab_fullscreen_indicator " "
tab_floating_indicator "󰉈 "
datetime "#[bg=#C9D2F5,fg=#1D1D2E,bold]{format} "
datetime_format "%Y-%m-%d %H:%M"
datetime_timezone "Europe/Amsterdam"
}
}
children
pane size=2 borderless=true {
plugin location="status-bar"
}
}
}
'';
helix_zellij =
pkgs.writeText "helix.kdl"
''
layout {
tab {
pane {
command "hx"
args "."
}
pane split_direction="vertical" size="20%" {}
}
swap_tiled_layout name="vertical" {
tab max_panes=5 {
pane split_direction="vertical" {
pane
pane { children; }
}
}
tab max_panes=8 {
pane split_direction="vertical" {
pane { children; }
pane { pane; pane; pane; pane; }
}
}
tab max_panes=12 {
pane split_direction="vertical" {
pane { children; }
pane { pane; pane; pane; pane; }
pane { pane; pane; pane; pane; }
}
}
}
swap_tiled_layout name="horizontal" {
tab max_panes=5 {
pane
pane
}
tab max_panes=8 {
pane {
pane split_direction="vertical" { children; }
pane split_direction="vertical" { pane; pane; pane; pane; }
}
}
tab max_panes=12 {
pane {
pane split_direction="vertical" { children; }
pane split_direction="vertical" { pane; pane; pane; pane; }
pane split_direction="vertical" { pane; pane; pane; pane; }
}
}
}
default_tab_template { default_tab_template {
pane size=1 borderless=true { pane size=1 borderless=true {
plugin location="file:${inputs.zjstatus.packages.${pkgs.system}.default}/bin/zjstatus.wasm" { plugin location="file:${inputs.zjstatus.packages.${pkgs.system}.default}/bin/zjstatus.wasm" {
@ -172,55 +90,18 @@ in {
# TODO find specific settings for vscode to avoid # TODO find specific settings for vscode to avoid
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
settings = {
session_serialization = true;
# theme = "catppuccin-macchiato";
themes = {
catppuccin-mocha = {
bg = "#585b70";
fg = "#cdd6f4";
red = "#f38ba8";
green = "#a6e3a1";
blue = "#89b4fa";
yellow = "#f9e2af";
magenta = "#f5c2e7";
orange = "#fab387";
cyan = "#89dceb";
black = "#181825";
white = "#cdd6f4";
};
catppuccin-macchiato = {
bg = "#5b6078";
fg = "#cad3f5";
red = "#ed8796";
green = "#a6da95";
blue = "#8aadf4";
yellow = "#eed49f";
magenta = "#f5bde6";
orange = "#f5a97f";
cyan = "#91d7e3";
black = "#1e2030";
white = "#cad3f5";
};
};
};
}; };
home.file = { home.file = {
"layout" = { "layout" = {
source = "${layout}"; source = "${layout}";
target = ".config/zellij/layouts/default.kdl"; target = ".config/zellij/layouts/default.kdl";
}; };
};
"helix_zellij" = { home.file = {
source = "${helix_zellij}"; "config" = {
target = ".config/zellij/layouts/helix.kdl"; source = ./zellij.kdl;
target = ".config/zellij/config.kdl";
}; };
}; };
#home.file = {
# "config" = {
# source = ./zellij.kdl;
# target = ".config/zellij/config.kdl";
# };
#};
} }

View file

@ -1,71 +1,67 @@
{pkgs, ...}: { {
programs = { inputs,
zoxide = { outputs,
enable = true; lib,
config,
pkgs,
...
}: {
programs.zoxide = {
enable = true;
};
programs.zsh = {
enable = true;
shellAliases = {
cd = "z";
code = "codium ./";
ls = "eza";
lh = "ls -lah";
cat = "bat";
tree = "tre";
neofetch = "hyfetch";
shutdown = "shutdown 0";
reboot = "reboot 0";
}; };
zsh = { plugins = [
{
name = "zsh-nix-shell";
file = "nix-shell.plugin.zsh";
src = pkgs.fetchFromGitHub {
owner = "chisui";
repo = "zsh-nix-shell";
rev = "v0.8.0";
sha256 = "sha256-Z6EYQdasvpl1P78poj9efnnLj7QQg13Me8x1Ryyw+dM=";
};
}
];
autosuggestion.enable = true;
enableCompletion = true;
historySubstringSearch.enable = true;
syntaxHighlighting.enable = true;
#zsh-abbr.enable = true;
oh-my-zsh = {
enable = true; enable = true;
shellAliases = {
cd = "z";
code = "codium ./";
ls = "eza";
lh = "ls -lah";
cat = "bat";
tree = "tre";
neofetch = "hyfetch";
shutdown = "shutdown 0";
reboot = "reboot 0";
};
plugins = [ plugins = [
{ "git"
name = "zsh-nix-shell"; "colored-man-pages"
file = "nix-shell.plugin.zsh"; "colorize"
src = pkgs.fetchFromGitHub { "dirhistory"
owner = "chisui"; "dirpersist"
repo = "zsh-nix-shell"; "history"
rev = "v0.8.0"; "history-substring-search"
sha256 = "sha256-Z6EYQdasvpl1P78poj9efnnLj7QQg13Me8x1Ryyw+dM="; "fancy-ctrl-z"
}; "git-flow"
} "isodate"
{ "z"
name = "terraform"; "zsh-interactive-cd"
src = pkgs.fetchFromGitHub { "zsh-navigation-tools"
owner = "macunha1";
repo = "zsh-terraform";
rev = "fd1471d3757f8ed13f56c4426f88616111de2a87";
sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc";
};
}
]; ];
autosuggestion.enable = true;
enableCompletion = true;
historySubstringSearch.enable = true;
syntaxHighlighting.enable = true;
#zsh-abbr.enable = true;
oh-my-zsh = {
enable = true;
plugins = [
"git"
"colored-man-pages"
"colorize"
"dirhistory"
"dirpersist"
"history"
"history-substring-search"
"fancy-ctrl-z"
"git-flow"
"isodate"
"z"
"zsh-interactive-cd"
"zsh-navigation-tools"
];
};
# Extra commands that take more complex forms
initExtra = ''
eval "$(zoxide init --cmd cd zsh)"
tre() { command tre "$@" -e && source "/tmp/tre_aliases_$USER" 2>/dev/null; }
zhx() { command zellij action new-tab --layout $HOME/.config/zellij/layouts/helix.kdl; }
'';
}; };
# stuff for zoxide & tre
initExtra = ''
eval "$(zoxide init --cmd cd zsh)"
tre() { command tre "$@" -e && source "/tmp/tre_aliases_$USER" 2>/dev/null; }
'';
}; };
} }

View file

@ -1,25 +0,0 @@
Host wheatley
HostName 10.0.0.1
User lillian
Port 22
Host GLaDOS
HostName 10.0.0.2
User lillian
Port 22
Host EDI
HostName 10.0.0.3
User lillian
Port 22
Host shodan
HostName 10.0.0.4
User lillian
Port 22
Host queen
HostName gladtherescake.eu
User lillian
Port 22

View file

@ -1,7 +0,0 @@
{...}: {
home.file."sshconfig" = {
source = ./config;
target = ".config/ssh/config";
force = true;
};
}

View file

@ -1,24 +0,0 @@
build:
sudo nixos-rebuild switch --flake .# --show-trace
run:
nix-repl -f flake:nixpkgs
test:
sudo nix flake check --show-trace
update:
nix flake update
clean:
sudo nix-collect-garbage
sudo nix-store --optimise
setup:
echo "just test" >> ./.git/hooks/pre-commit && chmod +x ./.git/hooks/pre-commit
push:
git pull
git add *
read -p "Commit message: " -r message && git commit -m "$message"
git push

View file

@ -1,5 +1,6 @@
# Add your reusable NixOS modules to this directory, on their own file (https://nixos.wiki/wiki/Module). # Add your reusable NixOS modules to this directory, on their own file (https://nixos.wiki/wiki/Module).
# These should be stuff you would like to share with others, not your personal configurations. # These should be stuff you would like to share with others, not your personal configurations.
{ {
vpn-ip = import ./vpn-ip; # List your module files here
contabo.wan = import ./contabo/wan;
} }

View file

@ -1,18 +0,0 @@
{lib, ...}:
with lib; {
# Declare what settings a user of this "hello.nix" module CAN SET.
options.services.vpn-ip = {
enable = mkOption {
type = types.bool;
default = true;
};
ip = mkOption {
type = types.str;
default = "0";
};
publicKey = mkOption {
type = types.str;
default = "";
};
};
}

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
services.pihole = { services.pihole = {
enable = true; enable = true;
hostConfig = { hostConfig = {

View file

@ -1,6 +1,7 @@
# This is your system's configuration file. # This is your system's configuration file.
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
{ {
inputs,
outputs, outputs,
lib, lib,
config, config,
@ -16,9 +17,9 @@
nixpkgs = { nixpkgs = {
# You can add overlays here # You can add overlays here
overlays = [ overlays = [
#(final: prev: { (final: prev: {
#bcachefs-tools = pkgs-edge.bcachefs-tools; bcachefs-tools = pkgs-edge.bcachefs-tools;
#}) })
# Add overlays your own flake exports (from overlays and pkgs dir): # Add overlays your own flake exports (from overlays and pkgs dir):
outputs.overlays.additions outputs.overlays.additions
outputs.overlays.modifications outputs.overlays.modifications
@ -29,6 +30,11 @@
}; };
}; };
# Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently
programs.command-not-found.enable = lib.mkForce false;
programs.nix-index.enable = true;
programs.nix-index-database.comma.enable = true;
environment.systemPackages = environment.systemPackages =
(with pkgs; [ (with pkgs; [
# Custom tools # Custom tools
@ -39,12 +45,10 @@
# System tools # System tools
aha aha
#bcachefs-tools bcachefs-tools
clinfo clinfo
comma comma
direnv direnv
exfat
exfatprogs
git-filter-repo git-filter-repo
gnupg gnupg
pciutils pciutils
@ -55,32 +59,26 @@
tpm2-tss tpm2-tss
virtualgl virtualgl
vulkan-tools vulkan-tools
# waydroid waydroid
waypipe waypipe
wayland-utils wayland-utils
xwaylandvideobridge
yubikey-personalization yubikey-personalization
zsh zsh
# KDE/QT # KDE/QT
krunner-translator krunner-translator
kdePackages.discover kdePackages.discover
kdePackages.filelight
kdePackages.kcalc kdePackages.kcalc
kdePackages.kdepim-addons kdePackages.kdepim-addons
kdePackages.kirigami kdePackages.kirigami
kdePackages.kdeconnect-kde kdePackages.kdeconnect-kde
kdePackages.konsole
# kdePackages.krunner-ssh # kdePackages.krunner-ssh
# kdePackages.krunner-symbols # kdePackages.krunner-symbols
kdePackages.packagekit-qt kdePackages.packagekit-qt
kdePackages.plasma-pa kdePackages.plasma-pa
kdePackages.sddm-kcm kdePackages.sddm-kcm
kdePackages.dolphin-plugins kdePackages.dolphin-plugins
kdePackages.qtstyleplugin-kvantum
kdePackages.krdc
kdePackages.krfb
kdePackages.kate
kdePackages.xwaylandvideobridge
libportal-qt5 libportal-qt5
libportal libportal
@ -88,140 +86,108 @@
noisetorch noisetorch
qjackctl qjackctl
wireplumber wireplumber
#rustdesk rustdesk
]) ])
++ (with pkgs-edge; [ ++ (with pkgs-edge; [
freetube
# list of latest packages from nixpkgs master # list of latest packages from nixpkgs master
# Can be used to install latest version of some packages # Can be used to install latest version of some packages
]); ]);
sops = {
secrets."nextcloud-password" = {
mode = "0600";
owner = config.users.users.lillian.name;
path = "/home/lillian/.netrc";
};
};
programs = { programs.direnv = {
# Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently enable = true;
command-not-found.enable = lib.mkForce false;
nix-index.enable = true;
nix-index-database.comma.enable = true;
direnv = {
enable = true;
};
steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
extest.enable = true;
};
kdeconnect.enable = true;
noisetorch = {
enable = true;
};
}; };
# Enable networking # Enable networking
networking.networkmanager.enable = true; # Enables support for 32bit libs that steam uses networking.networkmanager.enable = true;
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
extest.enable = true;
};
hardware.graphics.enable32Bit = true; # Enables support for 32bit libs that steam uses
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/Amsterdam"; time.timeZone = "Europe/Amsterdam";
services = {
# Enable the X11 windowing system.
xserver.enable = true;
# Enable the KDE Plasma Desktop Environment. # Enable the X11 windowing system.
displayManager.sddm = { services.xserver.enable = true;
enable = true;
wayland.enable = true;
};
displayManager.defaultSession = "plasma";
desktopManager.plasma6.enable = true;
desktopManager.plasma6.notoPackage = pkgs.atkinson-hyperlegible;
# Enable flatpak support # Enable the KDE Plasma Desktop Environment.
flatpak.enable = true; services.displayManager.sddm = {
packagekit.enable = true; enable = true;
wayland.enable = true;
# Configure keymap in X11
xserver.xkb = {
layout = "us";
variant = "";
options = "terminate:ctrl_alt_bksp,compose:caps_toggle";
};
# Enable CUPS to print documents.
printing.enable = true;
# Enable fwupd daemon and user space client
fwupd.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
};
avahi = {
nssmdns4 = true;
enable = true;
ipv4 = true;
ipv6 = true;
publish = {
enable = true;
addresses = true;
workstation = true;
};
};
}; };
hardware = { services.displayManager.defaultSession = "plasma";
graphics.enable32Bit = true; services.desktopManager.plasma6.enable = true;
programs.kdeconnect.enable = true;
# Enable bluetooth hardware # Enable flatpak support
bluetooth.enable = true; services.flatpak.enable = true;
services.packagekit.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
options = "terminate:ctrl_alt_bksp,compose:caps_toggle";
}; };
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable bluetooth hardware
hardware.bluetooth.enable = true;
# Enable fwupd daemon and user space client
services.fwupd.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
};
programs.noisetorch = {
enable = true;
};
services.pulseaudio.enable = false;
virtualisation.podman = { virtualisation.podman = {
enable = true; enable = true;
dockerCompat = true; dockerCompat = true;
}; };
security.tpm2 = {
enable = true;
pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so
tctiEnvironment.enable = true;
}; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables
users.users.lillian.extraGroups = ["tss"];
boot = {
# tss group has access to TPM devices
bootspec.enable = true;
binfmt.emulatedSystems = ["aarch64-linux"];
#boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
#boot.supportedFilesystems = ["bcachefs"];
extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out];
kernelModules = [
# Virtual Camera
"v4l2loopback"
# Virtual Microphone, built-in
"snd-aloop"
];
# Set initial kernel module settings security.tpm2.enable = true;
extraModprobeConfig = '' security.tpm2.pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so
# exclusive_caps: Skype, Zoom, Teams etc. will only show device when actually streaming security.tpm2.tctiEnvironment.enable = true; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables
# card_label: Name of virtual camera, how it'll show up in Skype, Zoom, Teams users.users.lillian.extraGroups = ["tss"]; # tss group has access to TPM devices
# https://github.com/umlaeute/v4l2loopback
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" # FIXME: re-enable virtual camera loopback when it build again.
''; boot.bootspec.enable = true;
loader.systemd-boot.configurationLimit = 3; boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
loader.efi.canTouchEfiVariables = true; boot.supportedFilesystems = ["bcachefs"];
}; boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out];
boot.kernelModules = [
# Virtual Camera
"v4l2loopback"
# Virtual Microphone, built-in
"snd-aloop"
];
# Set initial kernel module settings
boot.extraModprobeConfig = ''
# exclusive_caps: Skype, Zoom, Teams etc. will only show device when actually streaming
# card_label: Name of virtual camera, how it'll show up in Skype, Zoom, Teams
# https://github.com/umlaeute/v4l2loopback
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
'';
boot.loader.systemd-boot.configurationLimit = 3;
boot.loader.efi.canTouchEfiVariables = true;
} }

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [ imports = [
./firefox ./firefox
]; ];

View file

@ -5,7 +5,7 @@
}: { }: {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
package = pkgs.floorp; package = pkgs.firefox;
policies = { policies = {
DisableTelemetry = true; DisableTelemetry = true;
DisableFirefoxStudies = true; DisableFirefoxStudies = true;
@ -28,16 +28,16 @@
}; };
ExtensionSettings = { ExtensionSettings = {
# "*".installation_mode = "blocked"; # blocks all addons except the ones specified below # "*".installation_mode = "blocked"; # blocks all addons except the ones specified below
# Catppuccin Macchiato - Mauve theme: # Catppuccin Macchiato - Lavender theme:
"{55750c61-e5f3-4d9a-898d-0643b3093678}" = { "{6396519b-0923-41a4-948a-3cb54a3918b3}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-macchiato-mauve/latest.xpi"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-macchiato-lavender/latest.xpi";
installation_mode = "force_installed"; installation_mode = "force_installed";
}; };
# Sideberry: # Sideberry:
#"{3c078156-979c-498b-8990-85f7987dd929}" = { "{3c078156-979c-498b-8990-85f7987dd929}" = {
# install_url = "https://addons.mozilla.org/firefox/downloads/latest/sidebery/latest.xpi"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/sidebery/latest.xpi";
# installation_mode = "force_installed"; installation_mode = "force_installed";
#}; };
# Privacy Badger: # Privacy Badger:
"jid1-MnnxcxisBPnSXQ@jetpack" = { "jid1-MnnxcxisBPnSXQ@jetpack" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
@ -118,16 +118,6 @@
install_url = "https://addons.mozilla.org/firefox/downloads/file/4047136/wayback_machine_new-3.2.xpi"; install_url = "https://addons.mozilla.org/firefox/downloads/file/4047136/wayback_machine_new-3.2.xpi";
installation_mode = "force_installed"; installation_mode = "force_installed";
}; };
# Tree Style Tabs
"treestyletab@piro.sakura.ne.jp" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/tree-style-tab/latest.xpi";
installation_mode = "force_installed";
};
# Adaptive Tab Bar Colour
"ATBC@EasonWong" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/Adaptive-Tab-Bar-Colour/latest.xpi";
installation_mode = "force_installed";
};
}; };
FirefoxHome = { FirefoxHome = {
Search = true; Search = true;
@ -147,21 +137,12 @@
"browser.compactmode.show" = true; "browser.compactmode.show" = true;
"browser.uidensity" = 0; "browser.uidensity" = 0;
# "browser.newtabpage.activity-stream.feeds.topsites" = false; # "browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false; # "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false;
"font.name.serif.x-western" = "Crimson"; "font.name.serif.x-western" = "Crimson";
"font.name.sans-serif.x-western" = "Atkinson Hyperlegible"; "font.name.sans-serif.x-western" = "Atkinson Hyperlegible";
"font.name.monospace.x-western" = "FiraCode Nerd Font"; "font.name.monospace.x-western" = "FiraCode Nerd Font";
"font.size.variable.x-western" = 14; "font.size.variable.x-western" = 14;
"floorp.browser.sidebar.useIconProvider" = "duckduckgo";
"floorp.browser.tabbar.settings" = 2;
"floorp.browser.tabs.verticaltab" = true;
"floorp.tabbar.style" = 2;
"floorp.browser.user.interface" = 8;
"signon.rememberSignons" = true; "signon.rememberSignons" = true;
"browser.ml.chat.enabled" = false;
"browser.ml.chat.shortcuts" = false;
}; };
# TODO: switch to ManagedBookmarks as this will be dropped at some point https://mozilla.github.io/policy-templates/#managedbookmarks # TODO: switch to ManagedBookmarks as this will be dropped at some point https://mozilla.github.io/policy-templates/#managedbookmarks
# Bookmarks = [ # Bookmarks = [

View file

@ -1,13 +1,17 @@
# This is your system's configuration file. # This is your system's configuration file.
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
{ {
inputs,
outputs, outputs,
lib, lib,
config,
pkgs, pkgs,
... ...
}: { }: {
# You can import other NixOS modules here # You can import other NixOS modules here
imports = [ imports = [
# Import home-manager's NixOS module
inputs.home-manager.nixosModules.home-manager
# If you want to use modules your own flake exports (from modules/nixos): # If you want to use modules your own flake exports (from modules/nixos):
# outputs.nixosModules.example # outputs.nixosModules.example
@ -18,44 +22,41 @@
# You can also split up your configuration and import pieces of it here: # You can also split up your configuration and import pieces of it here:
# ./users.nix # ./users.nix
outputs.nixosModules.vpn-ip ../../desktop
../../../disko/EDI ../../../disko/EDI
# Import your generated (nixos-generate-config) hardware configuration
./hardware-configuration.nix
]; ];
sops.defaultSopsFile = ./secrets/sops.yaml;
home-manager = {
extraSpecialArgs = {inherit inputs outputs;};
users = {
# Import your home-manager configuration
lillian = import ../../../home-manager/hosts/EDI;
};
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
]; ];
services.vpn-ip = { networking.hostName = "EDI";
ip = "3";
};
networking = { # Lanzaboote currently replaces the systemd-boot module.
hostName = "EDI"; # This setting is usually set to true in configuration.nix
networkmanager.enable = true; # generated at installation time. So we force it to false
}; # for now.
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.initrd.systemd.enable = true;
hardware.enableAllFirmware = true; boot.lanzaboote = {
hardware.enableRedistributableFirmware = true; enable = true;
pkiBundle = "/etc/secureboot";
boot = {
# Lanzaboote currently replaces the systemd-boot module.
# This setting is usually set to true in configuration.nix
# generated at installation time. So we force it to false
# for now.
loader.systemd-boot.enable = lib.mkForce false;
initrd.systemd.enable = true;
lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
kernelModules = [
"iwlmvm"
"iwlwifi"
];
}; };
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "25.05"; system.stateVersion = "24.11";
} }

View file

@ -4,6 +4,7 @@
{ {
config, config,
lib, lib,
pkgs,
modulesPath, modulesPath,
... ...
}: { }: {

View file

@ -1,7 +1,4 @@
lillian-password: ENC[AES256_GCM,data:0mwqnvA+xrDD/m6uQtPbo9MpcFsOoqHE+Cg2gF6xZzNsqM3i/OmvAe7syp+mGBacZ3avoIHowLSWgXUkMcuFPeYa6XRkrX4LhA==,iv:f1kB54k6ZYWKlZ0Zowu8fOD0cf2WvNlX3GSpy1sUMdA=,tag:dsusc45E1BmYsNmiPzNccg==,type:str] lillian-password: ENC[AES256_GCM,data:0mwqnvA+xrDD/m6uQtPbo9MpcFsOoqHE+Cg2gF6xZzNsqM3i/OmvAe7syp+mGBacZ3avoIHowLSWgXUkMcuFPeYa6XRkrX4LhA==,iv:f1kB54k6ZYWKlZ0Zowu8fOD0cf2WvNlX3GSpy1sUMdA=,tag:dsusc45E1BmYsNmiPzNccg==,type:str]
wg-private-key: ENC[AES256_GCM,data:CqXlIN0gKzMrZRJycAf96LUVNw9yCZpHtE8XP+JwV2Ftip46iUksg1uExxQ=,iv:LdcopSz8Hx5hO1M00B8r+C7XViwpjGOpvmoXUHIkFtc=,tag:rbskx98YjcYV1lB8OO2VxQ==,type:str]
nextcloud-password: ENC[AES256_GCM,data:h93FmVY3XZdRZECEzz5ArBPnuRYyp0kJ6UUoxKmWVuVeFVkOzxQ5dGra6R/jZg8ofjhu+WosoDso3S/i,iv:J1K2NMAjv7Y26q91V/f11gNs82/UD6jbrMy0hVh81pw=,tag:/mQFulslQ3Mqabnc0mb1lQ==,type:str]
ssh-private-key: ENC[AES256_GCM,data:AYyOFlqcNrlTnKSewgb8B/XzegkJGB79gUT419n6aYiH0xom+DmxfRqQm46x/fldlSeN8u2mmzisC6xcRt3fnK4+0gN5Ywvr6hQEtKKxu2N6Pj7+tFLvFmbYPFplecyGBs1S092UXL65ozQs8aYbogoXxVTVu6/MuCsks9UO1JQWq5utCAyU8VGc0/Ft4OZN2qUbS+VZ0ONZ0WzBA+s+CFZ1FNKsr4tvltLXf8fgpsiSHLUigS4rojlxm84+w8omE1IwpAOxOa9n9X1EDuPxrQvZ+LvcJcgwqrtU2HVGis1GfytPM6vRAoVdBKX37enXelPBX2z9W7wPtmTxippD7yzcEJOggJ6ETMUessNKm3yBsMzTcojSWYzHo4v3San1I+ZiNxjvykuHmomRhXdzdM/2RsBpev8q2sC9YU4euzjzCQdwfoNqhbqyN/1X2BOkJMceMqw8fD8nLc3mIbczMFNO6ByVocZ+iC9BvaBYeLrFd3gncqGRRCJdBCD5CYiOYcdIAipNGL7NQVhM1tcv,iv:RZKsKCENIKhIWo4aKyDVj9xx0GfdjhYLP0B2Rad2LSM=,tag:XOOxsyGidnKWzgGlUPmvXw==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -17,8 +14,8 @@ sops:
eUZ6b09pYlRVWFBuUm1Ua2l6Z0dacW8KeQdAVsxXsDiDMtFA2koSpDsw7Ib63vA0 eUZ6b09pYlRVWFBuUm1Ua2l6Z0dacW8KeQdAVsxXsDiDMtFA2koSpDsw7Ib63vA0
GE/ubWDwwRc7wMPFGuofIe6TaDSFgtVXza+yo+i4y51+BOpwqxlYYA== GE/ubWDwwRc7wMPFGuofIe6TaDSFgtVXza+yo+i4y51+BOpwqxlYYA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-01-09T23:59:45Z" lastmodified: "2024-02-21T10:15:11Z"
mac: ENC[AES256_GCM,data:DQ8uXsVkbzc1JrMDaTGHb9ijRB//6I6GN4bAU1LWnhyxGA2QjYEk5xwEI1950kroXVf1hDTw5fdh+MXvvEcNUL6BZOc4Ecl5lPliZ4aemjhz+O8FCkSbnW2o5JnV4m/rFe9CP6KaoFdr/tgSBVklzaUE4Qdo1DUWCfF7XssXECw=,iv:gb1b569ar5wlc2XMkLXnYfyVp/ZMsLjh9cXM85GrUz0=,tag:MGFgFcF4jIdJxteiFp2n/Q==,type:str] mac: ENC[AES256_GCM,data:AnQfufrAVvN2f2kr2KLM8toFj4BUxM1xvwH48DE1OcoenBlzQHu76R35cc9q0rJjOBWXYnZPLEHncE46XyXt56HPboH/blIEZwa9aL1pwDOV5UwbaqZTuSy7/Ylnn0ZoZtcD4gFnavWBT9iUgu3VjRso1i6eXm0Lc1mvwRbH63M=,iv:zJW4Bzm+IGzgxsFE7QP+E4RY5UoPWTUeo9RfoLpbSt8=,tag:E29Pnjtp0w05hdEQCmkj7A==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.2 version: 3.8.1

View file

@ -3,6 +3,8 @@
{ {
inputs, inputs,
outputs, outputs,
lib,
config,
pkgs, pkgs,
... ...
}: { }: {
@ -10,8 +12,6 @@
imports = [ imports = [
# Import home-manager's NixOS module # Import home-manager's NixOS module
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
outputs.nixosModules.vpn-ip
inputs.jovian.nixosModules.jovian
# If you want to use modules your own flake exports (from modules/nixos): # If you want to use modules your own flake exports (from modules/nixos):
# outputs.nixosModules.example # outputs.nixosModules.example
@ -30,73 +30,62 @@
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
sops.defaultSopsFile = ./secrets/sops.yaml;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
]; ];
services.vpn-ip = { services.xserver.videoDrivers = ["amdgpu"];
ip = "2";
# Add vulkan support to GPU
hardware.graphics.extraPackages = with pkgs; [
amdvlk
];
# For 32 bit applications
hardware.graphics.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
programs.gamemode = {
enable = true;
settings = {
general = {
renice = 10;
};
# Warning: GPU optimisations have the potential to damage hardware
gpu = {
apply_gpu_optimisations = "accept-responsibility";
gpu_device = 0;
amd_performance_level = "high";
};
custom = {
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
};
};
};
boot.loader.systemd-boot.enable = true;
# boot.lanzaboote = {
# enable = true;
# pkiBundle = "/etc/secureboot";
# };
users.users.lillian.extraGroups = ["gamemode"];
home-manager = {
extraSpecialArgs = {inherit inputs outputs;};
users = {
# Import your home-manager configuration
lillian = import ../../../home-manager/hosts/GLaDOS;
};
}; };
networking.hostName = "GLaDOS"; networking.hostName = "GLaDOS";
services.xserver.videoDrivers = ["amdgpu"];
hardware = {
# Add vulkan support to GPU
graphics.extraPackages = with pkgs; [
amdvlk
];
# For 32 bit applications
graphics.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
programs = {
# gamemode.enable = false;
# gamemode.settings = {
# general = {
# renice = 10;
# };
# # Warning: GPU optimisations have the potential to damage hardware
# # gpu = {
# # apply_gpu_optimisations = "accept-responsibility";
# # gpu_device = 0;
# # amd_performance_level = "high";
# # };
# custom = {
# start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
# end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
# };
# };
};
jovian = {
steam = {
enable = true;
autoStart = false;
user = "lillian";
desktopSession = "plasma";
};
decky-loader = {
enable = true;
package = pkgs.decky-loader-prerelease;
extraPackages = [pkgs.python3];
};
hardware.has.amd.gpu = true;
};
boot = {
loader.systemd-boot.enable = false;
};
boot.lanzaboote = {
enable = true;
pkiBundle = "/var/lib/sbctl";
};
users.users.lillian.extraGroups = ["gamemode"];
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "25.05"; system.stateVersion = "24.11";
} }

View file

@ -4,6 +4,7 @@
{ {
config, config,
lib, lib,
pkgs,
modulesPath, modulesPath,
... ...
}: { }: {

View file

@ -1,7 +1,4 @@
lillian-password: ENC[AES256_GCM,data:aHJCYmnpGIWJMsNZ8aw51Rquuv4F7kgGvfIxHMELuDlEqgjkg+SAhh+UQEpv16F0WVxrYZ/EwxKFMBpfPv9M2NLZC98bav0D9g==,iv:uzYLfmxG46ubmgeFsfW7aqXZbcL+TQw0VdDcklV0/ZI=,tag:Ozcf5qXC7xh0VcsBzhyo2g==,type:str] lillian-password: ENC[AES256_GCM,data:aHJCYmnpGIWJMsNZ8aw51Rquuv4F7kgGvfIxHMELuDlEqgjkg+SAhh+UQEpv16F0WVxrYZ/EwxKFMBpfPv9M2NLZC98bav0D9g==,iv:uzYLfmxG46ubmgeFsfW7aqXZbcL+TQw0VdDcklV0/ZI=,tag:Ozcf5qXC7xh0VcsBzhyo2g==,type:str]
wg-private-key: ENC[AES256_GCM,data:em6sci3eefw5TJHpzgTaGGuQp8UuvOmkHRsQltg0TKpMb1Lrcxicb23cQxo=,iv:VEeGmzncHyAgP5toTOwDK6qw0OT4/6Etxh8Zr4uYQD4=,tag:nvse11zMhzukzClx5ub4dw==,type:str]
ssh-private-key: ENC[AES256_GCM,data:YM8GTH6EEXLt1ZC1ZdyLWVJyGUykS0DulTL0QgOFCTztRA+5JoA6Af42MIEMm4sMSatOt9pbGE9BXh5T53uNkx87cS8pfb714N8EKrMTYmtWi2M2TatEM6+qMRpP777GalB3v2HnfTfwhx+TfQ+iSCEo45Unsumzr+/9uZ/b4vYBxbd82UKO1tmlTw3R7aEpesJuJe/I3sAg0ZXTWti0e2MYfFawlSXtgQo382bFnV/mi9JkNx62AUFI6Q0a09V2C3FU4e4qP9jeP+COfCuCjRuaf8eu0VYczy4vVkN5NNBhkuLCZl0xANfqM5tDt8q+meYHmYWq1ceyeZ9OdZhKA7lMJi2K1DgTmgbD356itEtjXb7KF7VWIVnR0Gm+vVHx90Bv6eQp4n2I5mWbCVy8wqiIlacxuH8PO6jAPUM1Q8E+SVJb2HcLPdlURHyyK0fLVWaFhtFH4rwyKAv/2yEO2iNfZd9zFqvX5/JdyUPRCpMKkjxQgZN+raVHok0SwvPfXA9wvRpQyYSD4SUqCYsRcs6JugW8a14bZrvg,iv:L9ACOUFtAxkWsXW+tDKGwKn1ZHYNv7WmBty5krayVu8=,tag:hbrgscOczukqLBU/Y+6aLA==,type:str]
nextcloud-password: ENC[AES256_GCM,data:ClQk7M7BTeIhgWTWsgjTFb0Um8qZ901530dI9xnbs63ZGIni4+bWjLPetOmM3+PPsg33vF6r0xiwu0Ff,iv:jDy8miUoPcua3sraRQWOHWrhNacKEgf6nGsi8PVTYaY=,tag:ldGta+DdUmoajtAE6HLtkw==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -17,8 +14,8 @@ sops:
MUZWTVh0dVdMZlRzelJ4WlROUlIyNmcKphNuMN9Wh8h/gvmtUxQWjPKtgjWriLRD MUZWTVh0dVdMZlRzelJ4WlROUlIyNmcKphNuMN9Wh8h/gvmtUxQWjPKtgjWriLRD
+DpEEVGrmu0RJ8/wUqjxGoL4GzLAlZm4EnKlyUyA0tw8sbLZ2Lnl/w== +DpEEVGrmu0RJ8/wUqjxGoL4GzLAlZm4EnKlyUyA0tw8sbLZ2Lnl/w==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-01-01T15:48:15Z" lastmodified: "2024-02-22T11:58:42Z"
mac: ENC[AES256_GCM,data:64DmkqcYlLtzL+9WcgvnSOjF25MiZFkbEsgKP/xLrBBvhqqqm4ev9tk8QGoA5NJPHen+GItX7D3lJgfTyjX6LXn6vLFQWemrEP2+A9hZxnwvtdBjSD5dEl6wHGgY4mvqTJupmpv6Gg8zXP1kh5vsO82Un03TcfyPHVVgmfagpOw=,iv:j/6jJjRoiTUfTW2SJ0Ui6dAVQO9Ij8zN2mrKEhIt7fY=,tag:6r/GNnG/lw42KbWgIBoIzQ==,type:str] mac: ENC[AES256_GCM,data:TuNvE51hpHvOjB3G2y7UCT8BvlI1ulc8aeeBihtnGiGDjwU1Eze1bdA47hZYCZsCYdo3Tow1gY0gCkJACKeWqUXMLT8jxcUfiUWqQicQhBm/TT9m+oqLQiAqJCkh1Ez8XuaftqIg+oJstyy4wZyvMK8Bg+9EsSYiBnMrKfrgLBs=,iv:GXy93l1BBkkeKXJ1ntFI6Rw6QZmSbzDlWClJ16/Csv4=,tag:jBYynl6tLL/xN61ypMwvrw==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.2 version: 3.8.1

View file

@ -2,7 +2,9 @@
inputs, inputs,
outputs, outputs,
lib, lib,
config,
pkgs, pkgs,
nixpkgs-stable,
... ...
}: { }: {
imports = [ imports = [

View file

@ -2,7 +2,9 @@
inputs, inputs,
outputs, outputs,
lib, lib,
config,
pkgs, pkgs,
nixpkgs-stable,
... ...
}: { }: {
imports = [ imports = [

View file

@ -2,7 +2,9 @@
inputs, inputs,
outputs, outputs,
lib, lib,
config,
pkgs, pkgs,
nixpkgs-stable,
... ...
}: { }: {
imports = [ imports = [
@ -13,8 +15,6 @@
# Or modules exported from other flakes (such as nix-colors): # Or modules exported from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModules.default # inputs.nix-colors.homeManagerModules.default
outputs.nixosModules.vpn-ip
# You can also split up your configuration and import pieces of it here: # You can also split up your configuration and import pieces of it here:
# ./nvim.nix # ./nvim.nix
./hardware-configuration.nix ./hardware-configuration.nix
@ -28,17 +28,16 @@
# Import disko # Import disko
# ../../../disko/queen # ../../../disko/queen
]; ];
boot.tmp.cleanOnBoot = true;
zramSwap.enable = false; zramSwap.enable = false;
services = { networking.domain = "";
openssh = { services.openssh = {
enable = true; enable = true;
settings = { # require public key authentication for better security
# require public key authentication for better security settings.PasswordAuthentication = false;
PasswordAuthentication = false; settings.KbdInteractiveAuthentication = false;
KbdInteractiveAuthentication = false; settings.PermitRootLogin = "no";
PermitRootLogin = "no";
};
};
}; };
nixpkgs = { nixpkgs = {
@ -53,6 +52,9 @@
}; };
}; };
#Set up sops config, and configure where the keyfile is, then set the mode for the unencrypted keys
sops.defaultSopsFile = ./secrets/sops.yaml;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
fzf fzf
matrix-conduit matrix-conduit
@ -68,13 +70,13 @@
#jellyfin #jellyfin
#jellyfin-web #jellyfin-web
#jellyfin-ffmpeg #jellyfin-ffmpeg
nextcloud28
nginx nginx
onlyoffice-documentserver onlyoffice-documentserver
openssl
phanpy phanpy
postgresql_16 postgresql_16
python310 python310
# python310Packages.nbconvert python310Packages.nbconvert
jupyter jupyter
rabbitmq-server rabbitmq-server
roundcube roundcube
@ -87,70 +89,58 @@
sqlite sqlite
rocksdb rocksdb
]; ];
services.vpn-ip = {
enable = false; # Create an auto-update systemd service that runs every day
# system.autoUpgrade = {
# flake = "git+https://git.lillianviolet.dev/Lillian-Violet/NixOS-Config.git";
# dates = "daily";
# enable = true;
# };
# systemd.services.systemd-networkd.serviceConfig.Environment = "SYSTEMD_LOG_LEVEL=debug";
# Enable networking
# networking.networkmanager.enable = true;
# networking.nat.enable = true;
# networking.nat.internalInterfaces = ["ve-+"];
# networking.nat.externalInterface = "ens18";
networking.enableIPv6 = lib.mkForce true;
networking.nameservers = ["2a02:c207::1:53" "2a02:c207::2:53"];
# networking.interfaces.ens18.ipv4.addresses = [
# {
# address = "62.171.160.195";
# prefixLength = 32;
# }
# ];
networking.interfaces.ens18.ipv6.addresses = [
{
address = "2a02:c207:2063:2448::1";
prefixLength = 64;
}
];
networking.defaultGateway6 = {
address = "fe80::1";
interface = "ens18";
}; };
networking = { # Open ports in the firewall.
domain = ""; networking.firewall = {
enable = true;
# Create an auto-update systemd service that runs every day allowPing = false;
# system.autoUpgrade = { allowedTCPPorts = [
# flake = "git+https://git.lillianviolet.dev/Lillian-Violet/NixOS-Config.git"; 22 # SSH
# dates = "daily"; 5349 # STUN tls
# enable = true; 5350 # STUN tls alt
# }; 80 # http
443 # https
# systemd.services.systemd-networkd.serviceConfig.Environment = "SYSTEMD_LOG_LEVEL=debug"; ];
# Enable networking allowedUDPPortRanges = [
# networking.networkmanager.enable = true; {
# networking.nat.enable = true; from = 49152;
# networking.nat.internalInterfaces = ["ve-+"]; to = 49999;
# networking.nat.externalInterface = "ens18"; } # TURN relay
enableIPv6 = lib.mkForce true;
nameservers = ["2a02:c207::1:53" "2a02:c207::2:53"];
# networking.interfaces.ens18.ipv4.addresses = [
# {
# address = "62.171.160.195";
# prefixLength = 32;
# }
# ];
interfaces.ens18.ipv6.addresses = [
{
address = "2a02:c207:2063:2448::1";
prefixLength = 64;
}
]; ];
defaultGateway6 = {
address = "fe80::1";
interface = "ens18";
};
firewall = {
# Open ports in the firewall.
enable = true;
allowPing = false;
allowedTCPPorts = [
22 # SSH
5349 # STUN tls
5350 # STUN tls alt
80 # http
443 # https
];
allowedUDPPortRanges = [
{
from = 49152;
to = 49999;
} # TURN relay
];
};
hostName = "queen";
# Disable the server going through wireguard vpn for now
wireguard.enable = lib.mkForce false;
}; };
# networking.useNetworkd = true; # networking.useNetworkd = true;
@ -183,15 +173,20 @@
# Enable completion of system packages by zsh # Enable completion of system packages by zsh
environment.pathsToLink = ["/share/zsh"]; environment.pathsToLink = ["/share/zsh"];
boot = { home-manager = {
tmp.cleanOnBoot = true; extraSpecialArgs = {inherit inputs outputs;};
loader.grub = { users = {
enable = true; # Import your home-manager configuration
configurationLimit = 3; lillian = import ../../../home-manager/hosts/queen;
}; };
loader.efi.canTouchEfiVariables = true;
}; };
networking.hostName = "queen";
boot.loader.grub.enable = true;
boot.loader.grub.configurationLimit = 3;
boot.loader.efi.canTouchEfiVariables = true;
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "25.05"; system.stateVersion = "24.11";
} }

View file

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

View file

@ -6,15 +6,11 @@ releaseCookie: ENC[AES256_GCM,data:oG8DcUP+gIm5xPzIJdmjrtX/TdrcS8IgeGJeu0oOmZb0/
mssqlpass: ENC[AES256_GCM,data:XEu4bQC5qM5Cm8UDVX3qAzTuL/t3xbx+qcEbZM4h3Hg=,iv:jgpZ93THYBlUvJDC5+YZiIxu/14e7nFSy76J0vc8Hek=,tag:iKsEDp/KZ5juqzmUgtP8iA==,type:str] mssqlpass: ENC[AES256_GCM,data:XEu4bQC5qM5Cm8UDVX3qAzTuL/t3xbx+qcEbZM4h3Hg=,iv:jgpZ93THYBlUvJDC5+YZiIxu/14e7nFSy76J0vc8Hek=,tag:iKsEDp/KZ5juqzmUgtP8iA==,type:str]
mailpassunhash: ENC[AES256_GCM,data:q/P3nrNLy3hCISDmalw94nzWIFhoCdCTyflj27D2Ltr8,iv:oAFna87l3sL/42ljUF1QsRL0xBrP82uYdKLxK/8HcQE=,tag:liFFGHbNPOpOHyMsjnvMOQ==,type:str] mailpassunhash: ENC[AES256_GCM,data:q/P3nrNLy3hCISDmalw94nzWIFhoCdCTyflj27D2Ltr8,iv:oAFna87l3sL/42ljUF1QsRL0xBrP82uYdKLxK/8HcQE=,tag:liFFGHbNPOpOHyMsjnvMOQ==,type:str]
rpcSecret: ENC[AES256_GCM,data:gOuQSY2RI6rnSnG1,iv:xz1ueq4/UOKYBs5r9Tk4jL0+GyX8uo8I8ZymVgIMKLI=,tag:Fr8rWIttLz7X8Pri6FBJBQ==,type:str] rpcSecret: ENC[AES256_GCM,data:gOuQSY2RI6rnSnG1,iv:xz1ueq4/UOKYBs5r9Tk4jL0+GyX8uo8I8ZymVgIMKLI=,tag:Fr8rWIttLz7X8Pri6FBJBQ==,type:str]
wg-private-key: ENC[AES256_GCM,data:mq8QWoQ4tE4eYaFbwCzQnRREUFI2qrnmDnwurKMu6qdKkDylqc65E7jgGDI=,iv:r5RdcmfW4OaKlbbzUCPahONvpLcfZ7X7KcEEYFIYFDk=,tag:e93C4lByJV75JMHLJ02PfA==,type:str] wg-private: ENC[AES256_GCM,data:6BEuNqqG//p5UhRmQ4RPEze6jZdvzK4PEXxlbX2ANYIhFpacj0aZnCr9o/A=,iv:tPlwYdV4I5oA8qG+bfVi1Dpbf7xedByantqsmylZXKQ=,tag:k1BqKqlayOWz5QW1XiAjqQ==,type:str]
lillian-password: ENC[AES256_GCM,data:tc+Romv2fL+tdqLLmbwqaF4IHrNZ0VEpnECmW/66FW7IUpjHMyS7YP+pmmvDCzM9afIXMxyPFHGNRwiCmxqstiiNeSeLdo6rDw==,iv:sGeu9aNTgdpThv+0Z/nZKIrat1xNgM0t/KTGPaFbsdI=,tag:kZBHF4X0KO9znog61NwU+Q==,type:str] lillian-password: ENC[AES256_GCM,data:tc+Romv2fL+tdqLLmbwqaF4IHrNZ0VEpnECmW/66FW7IUpjHMyS7YP+pmmvDCzM9afIXMxyPFHGNRwiCmxqstiiNeSeLdo6rDw==,iv:sGeu9aNTgdpThv+0Z/nZKIrat1xNgM0t/KTGPaFbsdI=,tag:kZBHF4X0KO9znog61NwU+Q==,type:str]
coturn-auth-secret: ENC[AES256_GCM,data:RYxyATuYIcrGd8h8Gc4CP9ZQ80ekuuwHehnOPYisHejmycgT8a2mWpk+5r3HkFmBNcLDeNlfnhIif5oLHGuHyw==,iv:M2GdNDxP4xpP35FJPTgljbcKpOm6DmEEnIYRItAxDVI=,tag:IiiNXeTi6Yja5PrnKRkhdA==,type:str] coturn-auth-secret: ENC[AES256_GCM,data:RYxyATuYIcrGd8h8Gc4CP9ZQ80ekuuwHehnOPYisHejmycgT8a2mWpk+5r3HkFmBNcLDeNlfnhIif5oLHGuHyw==,iv:M2GdNDxP4xpP35FJPTgljbcKpOm6DmEEnIYRItAxDVI=,tag:IiiNXeTi6Yja5PrnKRkhdA==,type:str]
grafana-telegraf-key: ENC[AES256_GCM,data:agpUzG1/n2NAKDt45IgelmDf0CUlC82fmD4f7JdcszNuUg7uCNA7XeaJ6PZtHQ==,iv:keo3i+qSbtXkA5fyCr2S5z9nJS9bXUn5WDiPgWocPU8=,tag:p/nDff10PRhi9pOszp1PnA==,type:str] grafana-telegraf-key: ENC[AES256_GCM,data:agpUzG1/n2NAKDt45IgelmDf0CUlC82fmD4f7JdcszNuUg7uCNA7XeaJ6PZtHQ==,iv:keo3i+qSbtXkA5fyCr2S5z9nJS9bXUn5WDiPgWocPU8=,tag:p/nDff10PRhi9pOszp1PnA==,type:str]
sync-secrets: ENC[AES256_GCM,data:AwCgqfSXmYVGnCV5PJ5Ql44IiutTS76F1H7Ow7gB4mQQ8PtiAsmArzpAXd7LzsXedm55X04U+GvkcbM9cwPcF+psyb3Zi8EnI/mjnI9MgFyySSEcosJZVAtCpXGIMyYgRXtF5OBh5CzupAG059d1TDAqrSpLXMuSDdypTaOMHxnlq5q1swfpzhhY3PVgUKVFXdjZLX8aF3JTE9ceVxFsB+traLzOQsl+QKty0x0mpuqR97zkMCchX7bTwgUgbl7phzTvmwV8Qw==,iv:gkZs5NB9+CLfz4kfV4ha2llZQPP81uuXRKqUlASgpiA=,tag:DXkiG0ZFHLHlVhwLwtv/XQ==,type:str] sync-secrets: ENC[AES256_GCM,data:AwCgqfSXmYVGnCV5PJ5Ql44IiutTS76F1H7Ow7gB4mQQ8PtiAsmArzpAXd7LzsXedm55X04U+GvkcbM9cwPcF+psyb3Zi8EnI/mjnI9MgFyySSEcosJZVAtCpXGIMyYgRXtF5OBh5CzupAG059d1TDAqrSpLXMuSDdypTaOMHxnlq5q1swfpzhhY3PVgUKVFXdjZLX8aF3JTE9ceVxFsB+traLzOQsl+QKty0x0mpuqR97zkMCchX7bTwgUgbl7phzTvmwV8Qw==,iv:gkZs5NB9+CLfz4kfV4ha2llZQPP81uuXRKqUlASgpiA=,tag:DXkiG0ZFHLHlVhwLwtv/XQ==,type:str]
writefreely: ENC[AES256_GCM,data:QOj5h/rHCxmgpPNhu3IS4eyruhQokHTJxW6yQM9YDgQ=,iv:qAd+/rAAanzL9FTIX22M+2kwI0WI2d3i86cJrn8MFBo=,tag:3zvpqnovDEoJdvK/qcFDuQ==,type:str]
writefreelymysql: ENC[AES256_GCM,data:1JZwIX04O3DBAo7JvEkeNrFcSdcmk/u4WUf/kkbr2JA=,iv:8H8MR8w1iLfl2r62EbxPnLzs4qWFmwB5gNKEaly8q6c=,tag:K01oKMXkeMOFs3u7frMs0Q==,type:str]
ssh-private-key: ENC[AES256_GCM,data:DK/ggskAyhvotRkf36oZBoPw3hGvVlXneqaJZRPwX2a3YVMy4zgDE3iN65UeR6mfkp9J3OmLejOHeWFB/bRCHY3oTW6GUuZljTe2rI1/x/d2s4zX5UPPEWcy3cXH25d72DzElQBEMDKuZyDe0OZ0/NkR//vEeXgoA2Nr/NKHlTWrq/t26DMD2Vt+kQ+S9b0hh4tgh3OP1lwRu9/mTJOmInd/86gKB9+aD9V0oFvNbMEmgbwIah+ZjQBHB7GEIwjUc/lLmc+3RSn9J0rICIhnhL7NTzHUDHkYd93Tm0L9UHIyi9Oco2sK8tuV5mTDM1OK8CbDg/5FICTQ0H4sstCrDNZd2wE4E1kaZuwYOyxpzQpWJY8jOxxw5oIE0IccvvptM/9vp+0f1F2RIDrkIdHSLpFbGZGvXNVAWlXyv+0qOYS7BGzD0KAh9f74GcAvULq36vdzBahb5e+CqT3JXESne8qhkpsP0G9Z1I1Fy0xpADx/9cTnAm5RmXTw/KBPmBA5IZYZBRbR/C+N7Xyxr7u9RcwFJdIbSpAeT/ew,iv:pHT7DtX1ab7boPboXRaSg9w/4sMgNraEswtEf2tBPkw=,tag:Fbw2/Evf4ZsLFMBPflf9CA==,type:str]
mollysocket-vapid-key: ENC[AES256_GCM,data:8N2hxY6WN6mCcjMIFsw/Vt1RoGvUbYxkVPOOn4WRjXZtEEkkVCIaNevozF4xCnBUEWIukNg8lZk8ake/pHAq,iv:+NHm3hSotcRPRjrwEe9xKnEeYbnUZqJEB1sd5B+tWIE=,tag:Pd2pnJqj771XqdqBREGzJQ==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -30,8 +26,8 @@ sops:
KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz
NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw== NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-01-14T13:43:37Z" lastmodified: "2024-04-04T16:38:10Z"
mac: ENC[AES256_GCM,data:GK+WcmMgDbZ5xeqMK06CuquR6/ptd2oXzVJ9V74+n6lBx4XsyPu17puKGKgsGsIHeRYdbwtQh8tm42/XJ0tK8qJz1yGvfQxPasd+ibRBHatWWHzQ/czR3NIRWYqGF9/mxi2uHrftaKtku1/huxjzjb69blopMzn2LEH0vCzXCkc=,iv:K6Fbhmz9FAzLd8KcjDSriVre8MhCYrGTVXh+u6oGLaQ=,tag:4Ylrs+Mm54vAKFQyyo8Njg==,type:str] mac: ENC[AES256_GCM,data:KqkNjZe/rMhiWNS3SeYHm+b23u1LD1jq3f0+jB/BVmy6pDQDTNgA/wWHF/HcorU2Z7TOdjofJPuvRuF6C8ec4RCtTxX2ubIYWV4H3BynYxrEuEsIN8EnPJDcFFc92n9PKzoWnHo2NK1a4ZX+DxYVjDDdjhOMWj/kqWRWZRU+qEw=,iv:rarq3mCSfDFzbIdSIe+3mTNTnoZwFZ2uPkYMGt/xqos=,tag:rCD6SUpwOktRo7fM3Irv7g==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.2 version: 3.8.1

View file

@ -1,4 +1,11 @@
{pkgs, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
services.udev.extraRules = '' services.udev.extraRules = ''
KERNEL=="sd[a-z]|sd[a-z][0-9]", ACTION=="add", RUN+="${pkgs.systemd}/bin/systemctl start --no-block external-drive-mount@%k.service" KERNEL=="sd[a-z]|sd[a-z][0-9]", ACTION=="add", RUN+="${pkgs.systemd}/bin/systemctl start --no-block external-drive-mount@%k.service"
KERNEL=="sd[a-z]|sd[a-z][0-9]", ACTION=="remove", RUN+="${pkgs.systemd}/bin/systemctl stop --no-block external-drive-mount@%k.service" KERNEL=="sd[a-z]|sd[a-z][0-9]", ACTION=="remove", RUN+="${pkgs.systemd}/bin/systemctl stop --no-block external-drive-mount@%k.service"
@ -9,7 +16,7 @@
''; '';
systemd.services."external-drive-mount@" = { systemd.services."external-drive-mount@" = {
path = with pkgs; [util-linux udisks bash auto-mount steam jq]; path = with pkgs; [jq coreutils udisks bash util-linux toybox auto-mount steam];
enable = true; enable = true;
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.auto-mount}/bin/auto-mount add %i"; ExecStart = "${pkgs.auto-mount}/bin/auto-mount add %i";

View file

@ -2,6 +2,7 @@
inputs, inputs,
outputs, outputs,
lib, lib,
config,
pkgs, pkgs,
... ...
}: { }: {
@ -14,9 +15,8 @@
# Or modules exported from other flakes (such as nix-colors): # Or modules exported from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModules.default # inputs.nix-colors.homeManagerModules.default
outputs.nixosModules.vpn-ip
# Import the shared settings # Import the shared settings
../../shared
../../desktop/package-configs/firefox ../../desktop/package-configs/firefox
# You can also split up your configuration and import pieces of it here: # You can also split up your configuration and import pieces of it here:
@ -27,101 +27,11 @@
# ./auto-mount.nix # ./auto-mount.nix
]; ];
boot = {
tmp.cleanOnBoot = true;
loader = {
# TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables
# tss group has access to TPM devices
# Lanzaboote currently replaces the systemd-boot module. boot.tmp.cleanOnBoot = true;
# This setting is usually set to true in configuration.nix
# generated at installation time. So we force it to false
# for now.
systemd-boot.enable = lib.mkForce false;
systemd-boot.configurationLimit = 3;
timeout = 0;
efi.canTouchEfiVariables = true;
};
initrd.systemd.enable = true;
lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
consoleLogLevel = 0;
kernelParams = ["quiet" "udev.log_priority=0" "fbcon=vc:2-6" "console=tty0"];
plymouth.enable = true;
};
zramSwap.enable = false; zramSwap.enable = false;
networking = { networking.domain = "";
domain = ""; services.openssh.enable = true;
# Enable networking
networkmanager.enable = true;
firewall.enable = true;
firewall.allowedTCPPorts = [22];
hostName = "shodan";
};
services.vpn-ip = {
ip = "4";
};
services = {
openssh.enable = true; # Enables support for 32bit libs that steam uses
# Enable the X11 windowing system.
xserver.enable = true;
# Enable the KDE Plasma Desktop Environment.
desktopManager.plasma6.enable = true;
avahi = {
nssmdns4 = true;
enable = true;
ipv4 = true;
ipv6 = true;
publish = {
enable = true;
addresses = true;
workstation = true;
};
};
displayManager = {
defaultSession = "plasma";
sddm.wayland.enable = lib.mkForce true;
sddm.settings = {
Autologin = {
Session = "plasma.desktop";
User = "lillian";
};
};
};
# Enable flatpak support
flatpak.enable = true;
packagekit.enable = true;
# Configure keymap in X11
xserver = {
xkb.layout = "us";
xkb.variant = "";
};
# Enable CUPS to print documents.
printing.enable = true;
# Enable fwupd daemon and user space client
fwupd.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
};
nixpkgs = { nixpkgs = {
# You can add overlays here # You can add overlays here
@ -133,31 +43,32 @@
allowUnfree = true; allowUnfree = true;
}; };
}; };
#Set up sops config, and configure where the keyfile is, then set the mode for the unencrypted keys
sops.defaultSopsFile = ./secrets/sops.yaml;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Custom tools # Custom tools
auto-mount # auto-mount
#System: #System:
btrfs-progs btrfs-progs
decky-loader decky-loader
efitools efitools
jq jq
# noto-fonts noto-fonts
# noto-fonts-emoji-blob-bin noto-fonts-emoji-blob-bin
# noto-fonts-emoji noto-fonts-emoji
qjackctl rustdesk
#rustdesk
sbctl sbctl
udisks udisks
util-linux util-linux
waypipe waypipe
python3 python3
protonup-qt
#KDE: #KDE:
krunner-translator krunner-translator
# kdePackages.discover kdePackages.discover
kdePackages.kcalc kdePackages.kcalc
kdePackages.kdepim-addons kdePackages.kdepim-addons
kdePackages.kirigami kdePackages.kirigami
@ -166,16 +77,12 @@
# kdePackages.krunner-symbols # kdePackages.krunner-symbols
kdePackages.qtvirtualkeyboard kdePackages.qtvirtualkeyboard
kdePackages.packagekit-qt kdePackages.packagekit-qt
kdePackages.krdc
kdePackages.krfb
libportal libportal
#Gaming: #Gaming:
heroic heroic
legendary-gl legendary-gl
protontricks
rare rare
lutris
]; ];
jovian = { jovian = {
@ -193,30 +100,51 @@
devices.steamdeck = { devices.steamdeck = {
enable = true; enable = true;
autoUpdate = true; autoUpdate = true;
}; enableGyroDsuService = true;
steamos = {
enableAutoMountUdevRules = true;
enableMesaPatches = true;
}; };
}; };
programs = {
steam = lib.mkForce {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
extest.enable = true;
};
kdeconnect.enable = true;
noisetorch = { programs.steam = lib.mkForce {
enable = true; enable = true;
}; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
extest.enable = true;
};
hardware.opengl.driSupport32Bit = true; # Enables support for 32bit libs that steam uses
git = { # Enable the X11 windowing system.
enable = true; services.xserver.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.desktopManager.plasma6.enable = true;
programs.kdeconnect.enable = true;
services.displayManager.defaultSession = "plasma";
services.displayManager.sddm.wayland.enable = lib.mkForce true;
services.displayManager.sddm.settings = {
Autologin = {
Session = "plasma.desktop";
User = "lillian";
}; };
}; };
# Enable flatpak support
services.flatpak.enable = true;
services.packagekit.enable = true;
# Configure keymap in X11
services.xserver = {
xkb.layout = "us";
xkb.variant = "";
};
# Enable networking
networking.networkmanager.enable = true;
networking.firewall.enable = true;
networking.firewall.allowedTCPPorts = [22];
# # Enable automounting of removable media # # Enable automounting of removable media
# services.udisks2.enable = true; # services.udisks2.enable = true;
# services.devmon.enable = true; # services.devmon.enable = true;
@ -225,30 +153,73 @@
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/Amsterdam"; time.timeZone = "Europe/Amsterdam";
hardware = {
graphics.enable32Bit = true;
# Enable bluetooth hardware # Enable CUPS to print documents.
bluetooth.enable = true; services.printing.enable = true;
# Enable sound with pipewire. # Enable bluetooth hardware
hardware.bluetooth.enable = true;
# Enable fwupd daemon and user space client
services.fwupd.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
programs.noisetorch = {
enable = true;
};
programs.git = {
enable = true;
}; };
services.pulseaudio.enable = false;
users.users.lillian.extraGroups = ["decky" "tss" "input"]; users.users.lillian.extraGroups = ["decky" "tss" "input"];
# Enable completion of system packages by zsh # Enable completion of system packages by zsh
environment.pathsToLink = ["/share/zsh"]; environment.pathsToLink = ["/share/zsh"];
security = { home-manager = {
rtkit.enable = true; extraSpecialArgs = {inherit inputs outputs;};
tpm2 = { users = {
enable = true; # Import your home-manager configuration
pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so lillian = import ../../../home-manager/hosts/shodan;
tctiEnvironment.enable = true;
}; };
}; };
networking.hostName = "shodan";
security.tpm2.enable = true;
security.tpm2.pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so
security.tpm2.tctiEnvironment.enable = true; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables
# tss group has access to TPM devices
# Lanzaboote currently replaces the systemd-boot module.
# This setting is usually set to true in configuration.nix
# generated at installation time. So we force it to false
# for now.
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.initrd.systemd.enable = true;
boot.lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
boot.loader.systemd-boot.configurationLimit = 3;
boot.loader.timeout = 0;
boot.loader.efi.canTouchEfiVariables = true;
boot.consoleLogLevel = 0;
boot.kernelParams = ["quiet" "udev.log_priority=0" "fbcon=vc:2-6" "console=tty0"];
boot.plymouth.enable = true;
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "25.05"; system.stateVersion = "24.11";
} }

View file

@ -4,6 +4,7 @@
{ {
config, config,
lib, lib,
pkgs,
modulesPath, modulesPath,
... ...
}: { }: {

View file

@ -1,6 +1,4 @@
lillian-password: ENC[AES256_GCM,data:uPNBvMyhkiX3eedduFlsFUIcas/VBVSYrsmGTlgGUOzTQST59CYZRoq0ArphIJ3+Usy6KbR5tA5FCp4PoB3qVYBfjlAq6dhZIw==,iv:TiUIo2lvdL6SiDuW4gWn0TeJXkz5MldzqGxuK3MNPnE=,tag:d3p/h+q50JxygDtk2qxIeQ==,type:str] lillian-password: ENC[AES256_GCM,data:uPNBvMyhkiX3eedduFlsFUIcas/VBVSYrsmGTlgGUOzTQST59CYZRoq0ArphIJ3+Usy6KbR5tA5FCp4PoB3qVYBfjlAq6dhZIw==,iv:TiUIo2lvdL6SiDuW4gWn0TeJXkz5MldzqGxuK3MNPnE=,tag:d3p/h+q50JxygDtk2qxIeQ==,type:str]
wg-private-key: ENC[AES256_GCM,data:PeuKeYRHfOzGlekLI95EH3qq+blntZrrboPKaKC0ghD5zIyaCYrFHYWLkug=,iv:BcugGYW7+i7d04H4EKn+BdJJPqwMVVvlHBETO0x0kQM=,tag:Z/ammSrFpWTIbVfi4VJZ9w==,type:str]
ssh-private-key: ENC[AES256_GCM,data:7K3p6Lu4je2fNmvtKpLY2z7MG5E0gg3486PCLTlm/NzWpiH0FO8KO2yPkPPVurXfUWj7ig3eiP+bc6+kufRQ8+MCHaR+JA056cdMch0MMK92FyPvJjNKzwB4W3BpdvOKipaZvuvSfgdrEdpz6rWRwBb9KaUW5aHBjW5eQNm+q0yP2uZjW6Ncp/zrdevjlRJyXGnNJD8CBDQgLILvqlvziRO4xBnSZOmFpdCKM9jMkxwHIQUND4ic71G6cheN+kIsgsa67DlJjfrngGWxKrlC3Q2DC+30vHtW8f18oa+g7eu9eTz8+bSLxYJf9TADwE+UYe2Hakib1ju67yxBkcomIjBvqgo+zEr0jC2qYmOvlKfqn64gSbAE7zEVCbavz6gA2EMb0g47twtAdgGUyzppGQ4LXjZXv6lyYov2gdXP7bzAcXXfzDh92BuTUOp9HXOTsLh7XC7cPKziowwwT+oUeOaSujMT9tgqkazgcVR3ne+PjxduptV75gxOwxeu6F2Zm+4Y4xJBdJeyP1Baq0yj4HNY/gv3pxEEXgU5,iv:TJ3AsSvXeUmBsKd6xy+Kc1ws+Yc9ZQ5Q4A8UFHI7Wsg=,tag:egCYoe3Mkbvkup0itszm4w==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -16,8 +14,8 @@ sops:
KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz
NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw== NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-12-22T22:35:15Z" lastmodified: "2024-03-19T00:42:59Z"
mac: ENC[AES256_GCM,data:olqDdjgOF7MsYXibawEn4bou6LPof25j231+Vwr+pSGCO19Sj44OkZpS0YmNBi+Uym+X6RGM5uV3fg4JYVgThnALI9JFyFuZ41gjPRyNBXJ16RnogKykHK5XNjQEogYho5bgLA8DTDeOvSfFHW2ENM052z6lJyAaPWJLa4ADlEY=,iv:YXGKcHQfqZCnK9Z3Nw/JxcTmZR++0iKUc7PDbLBqahY=,tag:UbHZvFZjaYjrC51Q1f/oyg==,type:str] mac: ENC[AES256_GCM,data:WuwpvgM5WCmtsb9WH6us1dn0+qQuV/6+ooI8K7Wp+VFlMWLA4g509TgOFHG+cxWJeN2cRtilnHM1INv1U6uadjWis0LrjrqbHaMRJ5aAr3/zKoTXWTG4pRNykoYmCkwHLnx0gJi6hm4PbKOIFVM+6V5m9JCLKRVO6eqyW15SVww=,iv:xVR5ZGs2Ww+J57qreIlHSW8A+ADAOjzM7B+KLRFrRLw=,tag:6KTaeX8+Txz4j1UJUWRj+w==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.2 version: 3.8.1

View file

@ -1,4 +1,8 @@
{pkgs, ...}: { {
config,
pkgs,
...
}: {
boot.kernelPatches = [ boot.kernelPatches = [
rec { rec {
name = "compat_uts_machine"; name = "compat_uts_machine";

View file

@ -1,356 +1,127 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ {
lib, inputs,
pkgs,
outputs, outputs,
lib,
config, config,
modulesPath, pkgs,
... ...
}: { }: {
imports = [ imports = [
# inputs.nixos-hardware.nixosModules.raspberry-pi-4 inputs.home-manager.nixosModules.home-manager
(modulesPath + "/installer/sd-card/sd-image-aarch64.nix")
outputs.nixosModules.vpn-ip
./armv7l.nix
./hardware-configuration.nix ./hardware-configuration.nix
# Import shared settings # Import shared configurations
../../shared
]; ];
hardware.enableRedistributableFirmware = true; boot.loader.generic-extlinux-compatible.enable = true;
powerManagement.cpuFreqGovernor = "ondemand"; boot.loader.generic-extlinux-compatible.configurationLimit = 5;
hardware.graphics.enable = true; boot.loader.grub.enable = false;
boot.tmp.cleanOnBoot = true;
nixpkgs.overlays = [ # boot.extraModulePackages = [
(final: super: { # (pkgs.callPackage ./rtl8189es.nix {
makeModulesClosure = x: # kernel = config.boot.kernelPackages.kernel;
super.makeModulesClosure (x // {allowMissing = true;}); # })
}) # ];
]; nixpkgs = {
programs = { # You can add overlays here
# Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently overlays = [
command-not-found.enable = lib.mkForce false;
nix-index.enable = true;
nix-index-database.comma.enable = true;
};
services = {
automatic-timezoned.enable = true;
# stubby = {
# enable = true;
# settings =
# pkgs.stubby.passthru.settingsExample
# // {
# upstream_recursive_servers = [
# {
# address_data = "94.140.14.49";
# tls_auth_name = "4b921896.d.adguard-dns.com";
# tls_pubkey_pinset = [
# {
# digest = "sha256";
# value = "19HOzAWb2bgl7bo/b4Soag+5luf7bo6vlDN8W812k4U=";
# }
# ];
# }
# {
# address_data = "94.140.14.59";
# tls_auth_name = "4b921896.d.adguard-dns.com";
# tls_pubkey_pinset = [
# {
# digest = "sha256";
# value = "19HOzAWb2bgl7bo/b4Soag+5luf7bo6vlDN8W812k4U=";
# }
# ];
# }
# {
# address_data = "2a10:50c0:0:0:0:0:ded:ff";
# tls_auth_name = "4b921896.d.adguard-dns.com";
# tls_pubkey_pinset = [
# {
# digest = "sha256";
# value = "19HOzAWb2bgl7bo/b4Soag+5luf7bo6vlDN8W812k4U=";
# }
# ];
# }
# {
# address_data = "2a10:50c0:0:0:0:0:dad:ff";
# tls_auth_name = "4b921896.d.adguard-dns.com";
# tls_pubkey_pinset = [
# {
# digest = "sha256";
# value = "19HOzAWb2bgl7bo/b4Soag+5luf7bo6vlDN8W812k4U=";
# }
# ];
# }
# ];
# };
# };
openssh = {
enable = true;
# require public key authentication for better security
settings.PasswordAuthentication = false;
settings.KbdInteractiveAuthentication = false;
settings.PermitRootLogin = "no";
};
davfs2.enable = true;
aria2 = {
enable = true;
settings = {
dir = "/var/lib/media";
rpc-listen-port = 6969;
};
rpcSecretFile = config.sops.secrets."rpcSecret".path;
};
dnsmasq = {
enable = true;
settings = {
interface = "wg1";
};
};
};
sops = {
# users.users = {
# ombi.extraGroups = ["radarr" "sonarr" "aria2"];
# };
# services.ombi = {
# enable = true;
# port = 2368;
# };
# users.users = {
# radarr.extraGroups = ["aria2"];
# sonarr.extraGroups = ["aria2"];
# };
# services = {
# #uses port 7878
# radarr.enable = true;
# #uses port 8989
# sonarr.enable = true;
# prowlarr.enable = true;
# };
secrets."webdav-secret" = {
mode = "0600";
path = "/etc/davfs2/secrets";
owner = config.users.users.root.name;
};
secrets."rpcSecret".mode = "0440";
secrets."rpcSecret".owner = config.users.users.aria2.name;
secrets."protonvpn-priv-key".mode = "0440";
secrets."protonvpn-priv-key".owner = config.users.users.root.name;
};
boot = {
kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
initrd.kernelModules = ["vc4" "bcm2835_dma" "i2c_bcm2835" "cma=256M" "console=tty0" "reset-raspberrypi"];
kernelParams = ["video=HDMI-A-1:1920x1080@60D"];
kernel.sysctl = {
"net.ipv4.ip_forward" = 1;
"net.ipv6.conf.all.forwarding" = 1;
};
};
sdImage.compressImage = false;
services.vpn-ip = {
enable = false;
};
networking = {
hostName = "wheatley";
networkmanager.enable = true;
# Disable NetworkManager's internal DNS resolution
networkmanager.dns = "none";
# These options are unnecessary when managing DNS ourselves
useDHCP = false;
dhcpcd.enable = false;
# Configure DNS servers manually (this example uses Cloudflare and Google DNS)
# IPv6 DNS servers can be used here as well.
nameservers = [
# "127.0.0.1"
# "::1"
"94.140.14.49"
"94.140.14.59"
"2a10:50c0:0:0:0:0:ded:ff"
"2a10:50c0:0:0:0:0:ded:ff"
]; ];
# Configure your nixpkgs instance
wireguard.enable = true; config = {
# Disable if you don't want unfree packages
wg-quick.interfaces = { allowUnfree = true;
# # "wg0" is the network interface name. You can name the interface arbitrarily.
# wg0 = {
# autostart = true;
# # Determines the IP address and subnet of the server's end of the tunnel interface.
# address = ["10.2.0.2/32"];
# # The port that WireGuard listens to. Must be accessible by the client.
# listenPort = 51820;
# dns = ["10.2.0.1"];
# # Path to the private key file.
# #
# # Note: The private key can also be included inline via the privateKey option,
# # but this makes the private key world-readable; thus, using privateKeyFile is
# # recommended.
# privateKeyFile = config.sops.secrets."protonvpn-priv-key".path;
# peers = [
# # List of allowed peers.
# {
# # Feel free to give a meaning full name
# # Public key of the peer (not a file path).
# publicKey = "/i7jCNpcqVBUkY07gVlILN4nFdvZHmxvreAOgLGoZGg=";
# # List of IPs assigned to this peer within the tunnel subnet. Used to configure routing.
# allowedIPs = ["0.0.0.0/0"];
# endpoint = "146.70.86.114:51820";
# }
# ];
# };
# wg public key for host: A02sO7uLdgflhPIRd0cbJONIaPP4z8HTxDkmX4NegFg=
# TODO: generate this dynamically based on other hosts
wg1 = {
# Determines the IP address and subnet of the server's end of the tunnel interface.
address = ["10.0.0.1/24" "fdc9:281f:04d7:9ee9::1/64"];
# The port that WireGuard listens to. Must be accessible by the client.
listenPort = 51821;
# This allows the wireguard server to route your traffic to the internet and hence be like a VPN
postUp = ''
${pkgs.iptables}/bin/iptables -A FORWARD -i wg0 -j ACCEPT
${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE
${pkgs.iptables}/bin/ip6tables -A FORWARD -i wg0 -j ACCEPT
${pkgs.iptables}/bin/ip6tables -t nat -A POSTROUTING -s fdc9:281f:04d7:9ee9::1/64 -o eth0 -j MASQUERADE
'';
# Undo the above
preDown = ''
${pkgs.iptables}/bin/iptables -D FORWARD -i wg0 -j ACCEPT
${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE
${pkgs.iptables}/bin/ip6tables -D FORWARD -i wg0 -j ACCEPT
${pkgs.iptables}/bin/ip6tables -t nat -D POSTROUTING -s fdc9:281f:04d7:9ee9::1/64 -o eth0 -j MASQUERADE
'';
privateKeyFile = lib.mkForce config.sops.secrets."wg-private-key".path;
peers = [
{
#GLaDOS public key
publicKey = "yieF2yQptaE3jStoaGytUnN+HLxyVhFBZIUOGUNAV38=";
allowedIPs = ["10.0.0.2/32" "fdc9:281f:04d7:9ee9::2/128"];
}
{
#EDI public key
publicKey = "i4nDZbU+a2k5C20tFJRNPVE1vhYKJwhoqGHEdeC4704=";
allowedIPs = ["10.0.0.3/32" "fdc9:281f:04d7:9ee9::3/128"];
}
{
#Shodan public key
publicKey = "Zah2nZDaHF8jpP5AtMA5bhE7t38fMB2UHzbXAc96/jw=";
allowedIPs = ["10.0.0.4/32" "fdc9:281f:04d7:9ee9::3/128"];
}
{
#ADA public key
publicKey = "SHu7xxRVWuqp4U4uipMoITKrFPWZATGsJevUeqBSzWo=";
allowedIPs = ["10.0.0.5/32" "fdc9:281f:04d7:9ee9::3/128"];
}
#Queen public key: FVTrYM7S2Ev2rGrYrHsG2et1/SU3UjEBQH2AOen4+04=
];
};
};
nat = {
# enable NAT
enable = true;
externalInterface = "end0";
internalInterfaces = ["wg1"];
};
firewall = {
enable = true;
allowPing = false;
allowedTCPPorts = [
22 # SSH
5349 # STUN tls
5350 # STUN tls alt
80 # http
443 # https
51821 # wg
7878
53 # dnsmasq
];
allowedUDPPorts = [
53 #dnsmasq
];
allowedUDPPortRanges = [
{
from = 51820;
to = 51822; # wg
}
{
from = 49152;
to = 49999;
} # TURN relay
];
}; };
}; };
systemd.mounts = [
{
enable = true;
description = "Webdav mount point";
after = ["network-online.target"];
wants = ["network-online.target"];
what = "https://nextcloud.gladtherescake.eu/remote.php/dav/files/GLaDTheresCake"; sops.defaultSopsFile = ./secrets/sops.yaml;
where = "/home/kodi/nextcloud";
options = "uid=1002,gid=100,file_mode=0664,dir_mode=2775"; sops.secrets."wireless.env".mode = "0440";
type = "davfs"; sops.secrets."wireless.env".owner = config.users.users.root.name;
}
environment.systemPackages = with pkgs; [
age
git
htop
]; ];
environment.systemPackages = [ boot.kernelParams = [
pkgs.mpv-unwrapped "console=ttyS0,115200n8"
# (pkgs.kodi.withPackages (kodiPkgs:
# with kodiPkgs; [
# steam-controller
# invidious
# youtube
# netflix
# upnext
# sponsorblock
# sendtokodi
# jellyfin
# inputstream-adaptive
# inputstreamhelper
# inputstream-ffmpegdirect
# upnext
# sponsorblock
# sendtokodi
# routing
# requests-cache
# requests
# plugin-cache
# a4ksubtitles
# ]))
pkgs.iptables
]; ];
users.extraUsers.kodi.isNormalUser = true; nix = {
services.cage.user = "kodi"; gc = {
services.cage.program = "${pkgs.kodi-wayland}/bin/kodi-standalone"; automatic = true;
services.cage.enable = true; dates = "weekly";
nixpkgs.config.kodi.enableAdvancedLauncher = true; options = "--delete-older-than 7d";
};
# This will add each flake input as a registry
# To make nix3 commands consistent with your flake
registry = lib.mapAttrs (_: value: {flake = value;}) inputs;
system.stateVersion = "25.05"; # This will additionally add your inputs to the system's legacy channels
nixpkgs.hostPlatform = lib.mkForce "aarch64-linux"; # Making legacy nix commands consistent as well, awesome!
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
settings = {
# Enable flakes and new 'nix' command
experimental-features = "nix-command flakes";
# Deduplicate and optimize nix store
auto-optimise-store = true;
};
};
networking.wireless.enable = true;
networking.wireless.environmentFile = config.sops.secrets."wireless.env".path;
networking.wireless.networks."KPNAA6306" = {
hidden = true;
auth = ''
key_mgmt=WPA-PSK
password="@PSK_HOME@"
'';
};
networking.firewall.enable = true;
networking.firewall = {
allowedTCPPorts = [22 80 443 5335 8080];
allowedUDPPorts = [5335];
};
# Set your time zone.
time.timeZone = "Europe/Amsterdam";
programs.zsh = {
enable = true;
};
programs.git = {
enable = true;
};
home-manager = {
extraSpecialArgs = {inherit inputs outputs;};
users = {
# Import your home-manager configuration
lillian = import ../../../home-manager/hosts/wheatley;
};
};
networking.hostName = "wheatley"; # Define your hostname
networking.wireless.interfaces = ["enu1u1"];
# powerManagement.cpuFreqGovernor = "powersave";
powerManagement.cpufreq.max = 648000;
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "unstable"; # Did you read the comment?
} }

View file

@ -2,7 +2,9 @@
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ {
config,
lib, lib,
pkgs,
modulesPath, modulesPath,
... ...
}: { }: {
@ -10,26 +12,40 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = ["xhci_pci"]; boot.initrd.availableKernelModules = ["usbhid"];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [];
boot.kernelModules = []; boot.kernelModules = [];
boot.extraModulePackages = []; boot.extraModulePackages = [];
boot.supportedFilesystems = lib.mkForce ["btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs"];
swapDevices = [ fileSystems = {
{ # Prior to 19.09, the boot partition was hosted on the smaller first partition
device = "/swapfile"; # Starting with 19.09, the /boot folder is on the main bigger partition.
size = 16 * 1024; # The following is to be used only with older images. Note such old images should not be considered supported anymore whatsoever, but if you installed back then, this might be needed
}
]; # "/boot" = {
# device = "/dev/disk/by-label/FIRMWARE";
# fsType = "vfat";
# };
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
};
};
swapDevices = [{device = "/dev/disk/by-uuid/b299ad0d-37a0-43d6-9647-5f717aca7b3";}];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction # still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
# networking.interfaces.end0.useDHCP = lib.mkDefault true; # networking.interfaces.enu1u1.useDHCP = lib.mkDefault true;
# networking.interfaces.ip6tnl0.useDHCP = lib.mkDefault true;
# networking.interfaces.sit0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true; # networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; nixpkgs.hostPlatform = lib.mkDefault "armv7l-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
} }

View file

@ -1,10 +1,5 @@
wireless.env: ENC[AES256_GCM,data:a5sUW0Lc4GRd9aUJwHbmQvzvRB8WaRjMSQ==,iv:+3ncL38E3aqbejoCzzeBtMukLk4n/AQBJELlqhXDqSA=,tag:buY9Mp10DAEEEKqSyHwB3g==,type:str] wireless.env: ENC[AES256_GCM,data:a5sUW0Lc4GRd9aUJwHbmQvzvRB8WaRjMSQ==,iv:+3ncL38E3aqbejoCzzeBtMukLk4n/AQBJELlqhXDqSA=,tag:buY9Mp10DAEEEKqSyHwB3g==,type:str]
lillian-password: ENC[AES256_GCM,data:GY7WyfLRc/q4fecnazWzfoZsruN/F0ar7mJ9RaqTHSb9K6xhEmifmJeqpR5xGIJYW6MYciCsZ9YmRsJbuSHTIlo9PrCTYBGvXg==,iv:bzml3abPox3RdvtKBQiBAcVXHUdGAn0ETMsDpBtT8T0=,tag:2iaBJ4hFFBUbonslTvQH5Q==,type:str] lillian-password: ENC[AES256_GCM,data:GY7WyfLRc/q4fecnazWzfoZsruN/F0ar7mJ9RaqTHSb9K6xhEmifmJeqpR5xGIJYW6MYciCsZ9YmRsJbuSHTIlo9PrCTYBGvXg==,iv:bzml3abPox3RdvtKBQiBAcVXHUdGAn0ETMsDpBtT8T0=,tag:2iaBJ4hFFBUbonslTvQH5Q==,type:str]
protonvpn-priv-key: ENC[AES256_GCM,data:s4LAq1Rqm+jGaK3OKcjIBCQYXPs3oEuTKJMAM+gFxIpZdwcJCIU7uyoCy6c=,iv:zoWv5u0xgJHldwdRGRv3bXI1kasaWQz1YD7wt0J890I=,tag:cFXnayZRq13UqP+XWuHnWw==,type:str]
rpcSecret: ENC[AES256_GCM,data:3tCZk2csB/ofxPc6,iv:NwT6k1hh73moH6eErT23/Dvwgb1wP/qIuoxXnCgNSao=,tag:nh0mFsh9I4R1baCL1oH+AA==,type:str]
webdav-secret: ENC[AES256_GCM,data:SDFyHaE+HprkguOmDfnzwQ/n5OYgbTpxcVl4FGiLcsItefbSDOIQg5l01fqVB8zv+rRGlPcyRrIn7KTPrTpBx7X4RNHfFK4FKKvAANt6z0e5pu1+wnoObWxTShCFjfFoRCLkoh/j/CmLFyFIafrI7rzZUhs=,iv:stygLmNVWXkZL5A0J83CKPefRr7TqXeygQVLszr28eY=,tag:9hss2c77JELSASnwUyAF4w==,type:str]
wg-private-key: ENC[AES256_GCM,data:5WGAAst0qVqn1siX3snkAhsSDhZaS33XHT44BfViWLZqvzw+OhPB/jkSr4U=,iv:yXfN50SM3OWdycINB8iWXtvCSS01NBTrGBs1kxd1j0M=,tag:yhjDY1AM5aQ6DFeFEjo2Mw==,type:str]
ssh-private-key: ENC[AES256_GCM,data:zbCR/+REHSN4BIQIXSOQjSRKYWhaXutdn4AE2zxmN44qHPzMI98c7/aX2KFhHOL+vKpgyhhR6JAGVTF5Jk72lmIHwDvwvwx+gLXgpZH1KEK3nTUdwUVcqBDsVB4Na5rTsHMWmRH+NxV7n+3nSQo/Byi0Jb602IPXRNREL+0toCbHon27/o2uIy4uzbsEWZu6N2hadzQCtXmHJM2dqmbKvpADt04TQ4wAcZ6wB0538g5WdtOSU6T1xcBBSDU7MNEVP7e7dUPKJWK79cI+RrzpGIh/da7cM6exSBRas711oL6woH4Hi3G6Yjd1rPxBPt1+/qq45gm/4UvjQywn/1s7BInCe9/5vJLn3TEzuUd96CsT36vEsxMeOekXf50Ntu6Xr02bnFRwUBm76BVGAggwGf/khRNJuLw0xHsCdeKzHsPD0efe5mHTJw8mB3M6vDhO6e3g6E3uRjjBaDnrPuHuD4NE1kCjQTTJh3NbuT2Ab55lhpSOEK+f0Ik2qZgKzALvJhn+MILjXSfP/hXgiwBeP4dkTY3fOcpmnPyS,iv:ojh2hzVzJFy1kvvo/WvaIpMpGT+b9aSC+L8L0iwhF1o=,tag:bHOj/fxDn/qUmp1eijLPuw==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -20,8 +15,8 @@ sops:
Vm9mWk5JRGtZNVVhN1JQWTBlb2kySkEKoLI1MzS3uGNUbyn7kI5DylKZiPtc1div Vm9mWk5JRGtZNVVhN1JQWTBlb2kySkEKoLI1MzS3uGNUbyn7kI5DylKZiPtc1div
bKIboWoobTfDt0EURfmZ5+JrX6DlZxRyNQyl9dsKmZT6pLdaIppStA== bKIboWoobTfDt0EURfmZ5+JrX6DlZxRyNQyl9dsKmZT6pLdaIppStA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-12-22T22:37:02Z" lastmodified: "2024-02-22T11:57:45Z"
mac: ENC[AES256_GCM,data:T31z1/pngI6Wa3HMyOxS5ofb2Y5YqK0v5m96mn7n5dQ0d992ooEpoNyE7r8qHsD+tXiHvLIybWUMiMlDLI7Gq8op9GLEYYnFNDfc24k7lQPPuQK/iraJFUQwiRBbK063Rmfa6q6S3P2YN58+oxUJUiKuAy4yUIJTNaHeCCH8HMc=,iv:uLbAtSNbUcsejWdE1oBvCQVOtuaHL7A3R0sT/ispjhU=,tag:t3D7h0B0dDDZ18qo8G8wiA==,type:str] mac: ENC[AES256_GCM,data:V9vscu55woZjJGFV3aDgdHKqmIopYw6cajdOHG1/45Qel6l5YJkt8VyLMzYlUOlFGatXBlfTB7VC9zhhaY4lduww2XLrARcTk61BT+GSHp5sawND+RIDghY6CJBuoPUbtsfmmlmg+J2DljBlSbrcVmvfjMV12Ql6Zb8PEPM9K68=,iv:TFrDt1XpuIFLUyDN6+8n+0OypBkr1OrZOmXWvnY9ApI=,tag:EfsFhToEGFCZJSXh0WBrIw==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.2 version: 3.8.1

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here # You can import other home-manager modules here
imports = [ imports = [
./package-configs ./package-configs

View file

@ -1,4 +1,7 @@
{ {
inputs,
outputs,
lib,
config, config,
pkgs, pkgs,
... ...

View file

@ -1,4 +1,8 @@
{config, ...}: { {
config,
pkgs,
...
}: {
users.users.aria2.group = "aria2"; users.users.aria2.group = "aria2";
users.groups.aria2 = {}; users.groups.aria2 = {};
users.users.aria2.isSystemUser = true; users.users.aria2.isSystemUser = true;

View file

@ -1,4 +1,10 @@
{config, ...}: { {
inputs,
outputs,
config,
pkgs,
...
}: {
users.users.aria2.group = "aria2"; users.users.aria2.group = "aria2";
users.groups.aria2 = {}; users.groups.aria2 = {};
users.users.aria2.isSystemUser = true; users.users.aria2.isSystemUser = true;

View file

@ -1,56 +0,0 @@
{config, ...}: {
services.phpfpm.pools.nextcloud.settings = {
"listen.owner" = config.services.caddy.user;
"listen.group" = config.services.caddy.group;
};
users.users.caddy.extraGroups = ["nextcloud"];
services.caddy = {
enable = true;
# Setup Nextcloud virtual host to listen on ports
virtualHosts = {
"${config.services.nextcloud.hostName}" = {
useACMEHost = "${config.services.nextcloud.hostName}";
extraConfig = ''
redir /.well-known/carddav /remote.php/dav 301
redir /.well-known/caldav /remote.php/dav 301
redir /.well-known/webfinger /index.php/.well-known/webfinger 301
redir /.well-known/nodeinfo /index.php/.well-known/nodeinfo 301
encode gzip
reverse_proxy localhost:9000
header Strict-Transport-Security max-age=31536000;
@forbidden {
path /.htaccess
path /data/*
path /config/*
path /db_structure
path /.xml
path /README
path /3rdparty/*
path /lib/*
path /templates/*
path /occ
path /console.php
}
handle @forbidden {
respond 404
}
handle {
root * /var/www/html
php_fastcgi 127.0.0.1:9000 {
# Tells nextcloud to remove /index.php from URLs in links
env front_controller_active true
}
file_server
}
'';
};
"onlyoffice.gladtherescake.eu" = {
};
};
};
}

View file

@ -1,4 +1,10 @@
{pkgs, ...}: { {
config,
pkgs,
inputs,
lib,
...
}: {
services.nginx = { services.nginx = {
enable = true; enable = true;
virtualHosts = { virtualHosts = {

View file

@ -1,7 +1,8 @@
{ {
config, config,
inputs,
pkgs, pkgs,
inputs,
lib,
... ...
}: let }: let
# You'll need to edit these values # You'll need to edit these values
@ -30,24 +31,19 @@
''; '';
in { in {
# Configure Conduit itself # Configure Conduit itself
services.conduwuit = { services.matrix-conduit = {
enable = true; enable = true;
# This causes NixOS to use the flake defined in this repository instead of # This causes NixOS to use the flake defined in this repository instead of
# the build of Conduit built into nixpkgs. # the build of Conduit built into nixpkgs.
package = inputs.conduwuit.packages.${pkgs.system}.default; package = inputs.conduwuit.packages.${pkgs.system}.default;
# package = pkgs.conduwuit;
settings.global = { settings.global = {
inherit server_name; inherit server_name;
database_backend = "rocksdb";
allow_registration = false; allow_registration = false;
# emergency_password = "testpassword";
turn_uris = ["turn:turn.gladtherescake.eu.url?transport=udp" "turn:turn.gladtherescake.eu?transport=tcp"]; turn_uris = ["turn:turn.gladtherescake.eu.url?transport=udp" "turn:turn.gladtherescake.eu?transport=tcp"];
turn_secret = "cPKWEn4Fo5TAJoE7iX3xeVOaMVE4afeRN1iRGWYfbkWbkaZMxTpnmazHyH6c6yXT"; turn_secret = "cPKWEn4Fo5TAJoE7iX3xeVOaMVE4afeRN1iRGWYfbkWbkaZMxTpnmazHyH6c6yXT";
well_known = {
server = "matrix.gladtherescake.eu:443";
client = "https://matrix.gladtherescake.eu";
};
}; };
}; };
@ -117,7 +113,6 @@ in {
locations."=/.well-known/matrix/client" = { locations."=/.well-known/matrix/client" = {
# Use the contents of the derivation built previously # Use the contents of the derivation built previously
alias = "${well_known_client}"; alias = "${well_known_client}";
return = "200 '{\"m.homeserver\": {\"base_url\": \"https://${server_name}\"}, \"org.matrix.msc3575.proxy\": {\"url\": \"https://${server_name}\"}}'";
extraConfig = '' extraConfig = ''
# Set the header since by default NGINX thinks it's just bytes # Set the header since by default NGINX thinks it's just bytes
@ -128,10 +123,9 @@ in {
''; '';
}; };
locations."/_matrix/client/unstable/org.matrix.msc3575/sync" = { locations."/_matrix/client/unstable/org.matrix.msc3575/sync" = {
proxyPass = "http://matrix.gladtherescake.eu/client/unstable/org.matrix.msc3575/sync"; proxyPass = "http://backend_conduit/client/unstable/org.matrix.msc3575/sync";
proxyWebsockets = true; proxyWebsockets = true;
recommendedProxySettings = false; recommendedProxySettings = false;
return = "200 '{\"contacts\": [{\"matrix_id\": \"@admin:server.name\", \"email_address\": \"admin@server.name\", \"role\": \"m.role.admin\"}]}'";
extraConfig = '' extraConfig = ''
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_buffering off; proxy_buffering off;

View file

@ -1,4 +1,8 @@
{config, ...}: { {
config,
pkgs,
...
}: {
sops.secrets."coturn-auth-secret".mode = "0440"; sops.secrets."coturn-auth-secret".mode = "0440";
sops.secrets."coturn-auth-secret".owner = config.users.users.turnserver.name; sops.secrets."coturn-auth-secret".owner = config.users.users.turnserver.name;
users.users.nginx.extraGroups = ["turnserver"]; users.users.nginx.extraGroups = ["turnserver"];

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [ imports = [
./grafana ./grafana
#./loki #./loki

View file

@ -1,4 +1,8 @@
{config, ...}: { {
config,
pkgs,
...
}: {
# grafana configuration # grafana configuration
services.grafana = { services.grafana = {
enable = true; enable = true;
@ -18,13 +22,13 @@
url = "http://localhost:${toString config.services.prometheus.port}"; url = "http://localhost:${toString config.services.prometheus.port}";
isDefault = true; isDefault = true;
} }
{ # {
name = "Loki"; # name = "Loki";
type = "loki"; # type = "loki";
access = "proxy"; # access = "proxy";
url = "http://localhost:3100"; # url = "http://localhost:${config.services.loki.port}";
isDefault = true; # isDefault = true;
} # }
]; ];
}; };
}; };

View file

@ -1,4 +1,8 @@
{...}: { {
config,
pkgs,
...
}: {
services.loki = { services.loki = {
enable = true; enable = true;
configFile = ./loki.yaml; configFile = ./loki.yaml;

View file

@ -1,4 +1,8 @@
{config, ...}: { {
config,
pkgs,
...
}: {
services.prometheus = { services.prometheus = {
enable = true; enable = true;
port = 9001; port = 9001;
@ -16,19 +20,19 @@
job_name = "GrafanaService system"; job_name = "GrafanaService system";
static_configs = [ static_configs = [
{ {
targets = ["127.0.0.1:${toString config.services.prometheus.exporters.node.port}"]; targets = ["127.0.0.1:9002"];
} }
]; ];
} }
# Scrape the Loki service # Scrape the Loki service
{ # {
job_name = "Loki service"; # job_name = "Loki service";
static_configs = [ # static_configs = [
{ # {
targets = ["127.0.0.1:3100"]; # targets = ["127.0.0.1:3100"];
} # }
]; # ];
} # }
]; ];
}; };
} }

View file

@ -1,4 +1,11 @@
{config, ...}: { {
inputs,
lib,
config,
pkgs,
user,
...
}: {
sops.secrets."grafana-telegraf-key".mode = "0440"; sops.secrets."grafana-telegraf-key".mode = "0440";
sops.secrets."grafana-telegraf-key".owner = config.users.users.telegraf.name; sops.secrets."grafana-telegraf-key".owner = config.users.users.telegraf.name;
services.telegraf = { services.telegraf = {

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [ imports = [
./conduit ./conduit
./forgejo ./forgejo
@ -10,9 +17,7 @@
./roundcube ./roundcube
./coturn ./coturn
./dashboard ./dashboard
#./cinny ./cinny
#./firefox-sync ./firefox-sync
./writefreely
./mollysocket
]; ];
} }

View file

@ -1,4 +1,11 @@
{pkgs, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = []; imports = [];
#sops.secrets."mailpassunhash".mode = "0440"; #sops.secrets."mailpassunhash".mode = "0440";

View file

@ -1,4 +1,11 @@
{pkgs, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
users.users.gotosocial.extraGroups = ["virtualMail"]; users.users.gotosocial.extraGroups = ["virtualMail"];
services.nginx = { services.nginx = {

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
users.users.jellyfin.extraGroups = ["nextcloud" "aria2"]; users.users.jellyfin.extraGroups = ["nextcloud" "aria2"];
services.nginx = { services.nginx = {

View file

@ -1,9 +1,16 @@
{config, ...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
sops.secrets."mailpass".mode = "0440"; sops.secrets."mailpass".mode = "0440";
sops.secrets."mailpass".owner = config.users.users.virtualMail.name; sops.secrets."mailpass".owner = config.users.users.virtualMail.name;
#Fix for the dovecot update #Fix for the dovecot update
# services.dovecot2.sieve.extensions = ["fileinto"]; services.dovecot2.sieve.extensions = ["fileinto"];
mailserver = { mailserver = {
enable = true; enable = true;
@ -14,21 +21,11 @@
"nextcloud.gladtherescake.eu" "nextcloud.gladtherescake.eu"
"akkoma.gladtherescake.eu" "akkoma.gladtherescake.eu"
"social.gladtherescake.eu" "social.gladtherescake.eu"
"gladtherescake.eu"
"lillianviolet.dev" "lillianviolet.dev"
"git.lillianviolet.dev" "git.lillianviolet.dev"
]; ];
loginAccounts = { loginAccounts = {
"me@gladtherescake.eu" = {
hashedPasswordFile = config.sops.secrets."mailpass".path;
aliases = [
"@gladtherescake.eu"
];
catchAll = [
"gladtherescake.eu"
];
};
"no-reply@nextcloud.gladtherescake.eu" = { "no-reply@nextcloud.gladtherescake.eu" = {
hashedPasswordFile = config.sops.secrets."mailpass".path; hashedPasswordFile = config.sops.secrets."mailpass".path;
}; };
@ -84,7 +81,6 @@
"no-reply@akkoma.gladtherescake.eu" "no-reply@akkoma.gladtherescake.eu"
"no-reply@social.gladtherescake.eu" "no-reply@social.gladtherescake.eu"
"no-reply@git.lillianviolet.dev" "no-reply@git.lillianviolet.dev"
"ongebonden@gladtherescake.eu"
]; ];
certificateScheme = "acme-nginx"; certificateScheme = "acme-nginx";
certificateDomains = [ certificateDomains = [
@ -92,7 +88,6 @@
"mail.lillianviolet.dev" "mail.lillianviolet.dev"
"pop3.lillianviolet.dev" "pop3.lillianviolet.dev"
"lillianviolet.dev" "lillianviolet.dev"
"gladtherescake.eu"
"mail.gladtherescake.eu" "mail.gladtherescake.eu"
]; ];
}; };

View file

@ -1,25 +0,0 @@
{config, ...}: {
sops.secrets."mollysocket-vapid-key".mode = "0440";
services.mollysocket = {
enable = true;
environmentFile = config.sops.secrets."mollysocket-vapid-key".path;
settings = {
port = 4381;
allowed_endpoints = ["https://molly.gladtherescake.eu" "https://nextcloud.gladtherescake.eu"];
allowed_uuids = ["db639f29-b7e7-431a-9c75-bcdcb87b6bdf"];
webserver = true;
};
};
services.nginx = {
virtualHosts = {
"molly.gladtherescake.eu" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:4381";
};
};
};
};
}

View file

@ -7,14 +7,13 @@
sops.secrets."nextcloudadmin".owner = config.users.users.nextcloud.name; sops.secrets."nextcloudadmin".owner = config.users.users.nextcloud.name;
sops.secrets."nextclouddb".mode = "0440"; sops.secrets."nextclouddb".mode = "0440";
sops.secrets."nextclouddb".owner = config.users.users.nextcloud.name; sops.secrets."nextclouddb".owner = config.users.users.nextcloud.name;
# sops.secrets."local.json".mode = "0440"; sops.secrets."local.json".mode = "0440";
# sops.secrets."local.json".owner = config.users.users.onlyoffice.name; sops.secrets."local.json".owner = config.users.users.onlyoffice.name;
users.users = { users.users = {
# nextcloud.extraGroups = [config.users.groups.keys.name config.users.users.onlyoffice.name]; nextcloud.extraGroups = [config.users.groups.keys.name config.users.users.onlyoffice.name];
nextcloud.extraGroups = [config.users.groups.keys.name];
#aria2.extraGroups = ["nextcloud"]; #aria2.extraGroups = ["nextcloud"];
# onlyoffice.extraGroups = [config.users.users.nextcloud.name]; onlyoffice.extraGroups = [config.users.users.nextcloud.name];
}; };
# Enable Nginx # Enable Nginx
@ -50,7 +49,7 @@
enable = true; enable = true;
hostName = "nextcloud.gladtherescake.eu"; hostName = "nextcloud.gladtherescake.eu";
package = pkgs.nextcloud31; package = pkgs.nextcloud29;
# Use HTTPS for links # Use HTTPS for links
https = true; https = true;
@ -91,15 +90,15 @@
}; };
}; };
# services.onlyoffice = { services.onlyoffice = {
# port = 16783; port = 16783;
# enable = true; enable = true;
# hostname = "onlyoffice.gladtherescake.eu"; hostname = "onlyoffice.gladtherescake.eu";
# #postgresHost = "/run/postgesql"; #postgresHost = "/run/postgesql";
# #postgresUser = "onlyoffice"; #postgresUser = "onlyoffice";
# #postgresName = "onlyoffice"; #postgresName = "onlyoffice";
# #jwtSecretFile = config.sops.secrets."local.json".path; #jwtSecretFile = config.sops.secrets."local.json".path;
# }; };
services.rabbitmq = { services.rabbitmq = {
enable = true; enable = true;

View file

@ -1,4 +1,8 @@
{...}: { {
config,
pkgs,
...
}: {
users.users = { users.users = {
ombi.extraGroups = ["radarr" "sonarr" "aria2" "nextcloud"]; ombi.extraGroups = ["radarr" "sonarr" "aria2" "nextcloud"];
}; };

View file

@ -1,4 +1,10 @@
{pkgs, ...}: { {
config,
pkgs,
inputs,
lib,
...
}: {
services.nginx = { services.nginx = {
enable = true; enable = true;
virtualHosts = { virtualHosts = {

View file

@ -1,4 +1,8 @@
{pkgs, ...}: { {
config,
pkgs,
...
}: {
services.postgresql = { services.postgresql = {
# https://nixos.org/manual/nixos/stable/#module-postgresql # https://nixos.org/manual/nixos/stable/#module-postgresql
package = pkgs.postgresql_16; package = pkgs.postgresql_16;

View file

@ -1,6 +1,7 @@
{ {
config, config,
pkgs, pkgs,
lib,
... ...
}: { }: {
# TODO: Figure out how to create packages for some plugins for roundcube! # TODO: Figure out how to create packages for some plugins for roundcube!

View file

@ -1,39 +0,0 @@
{
config,
pkgs,
...
}: {
sops.secrets."writefreely".mode = "0440";
sops.secrets."writefreely".owner = config.users.users.writefreely.name;
sops.secrets."writefreelymysql".mode = "0440";
sops.secrets."writefreelymysql".owner = config.users.users.writefreely.name;
services.writefreely = {
enable = true;
host = "writefreely.gladtherescake.eu";
nginx.enable = true;
nginx.forceSSL = true;
acme.enable = true;
# database = {
# type = "mysql";
# createLocally = true;
# passwordFile = config.sops.secrets."writefreelymysql".path;
# };
admin = {
initialPasswordFile = config.sops.secrets."writefreely".path;
name = "GLaDTheresCake";
};
settings = {
app = {
min_username_len = 2;
max_blogs = 100;
default_visibility = "public";
federation = true;
local_timeline = true;
};
server.port = 1212;
};
};
systemd.services.writefreely = {
path = [pkgs.openssl];
};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

View file

@ -4,33 +4,15 @@
lib, lib,
config, config,
pkgs, pkgs,
pkgs-edge,
... ...
}: { }: {
imports = [ imports = [
./locale ./locale
./packages ./packages
inputs.home-manager.nixosModules.home-manager
#../hosts/${config.networking.hostName}/hardware-configuration.nix
];
sops = {
age.keyFile = ../../../../../../var/secrets/keys.txt;
secrets."lillian-password".neededForUsers = true;
defaultSopsFile = ../hosts/${config.networking.hostName}/secrets/sops.yaml;
secrets."wg-private-key".mode = "0440";
secrets."wg-private-key".owner = config.users.users.root.name;
secrets."ssh-private-key" = {
mode = "0600";
owner = config.users.users.lillian.name;
path = "/home/lillian/.ssh/id_ed25519";
};
};
#TODO: remove this when unneeded for freetube
nixpkgs.config.permittedInsecurePackages = [
"python3.12-youtube-dl-2021.12.17"
]; ];
sops.age.keyFile = ../../../../../../var/secrets/keys.txt;
sops.secrets."lillian-password".neededForUsers = true;
nix = { nix = {
package = pkgs.lix; package = pkgs.lix;
@ -48,165 +30,43 @@
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
settings = { settings = {
trusted-users = ["root" "lillian"];
# Enable flakes and new 'nix' command # Enable flakes and new 'nix' command
experimental-features = "nix-command flakes"; experimental-features = "nix-command flakes";
# Deduplicate and optimize nix store # Deduplicate and optimize nix store
auto-optimise-store = true; auto-optimise-store = true;
extra-substituters = [ extra-substituters = ["https://cache.lix.systems"];
"https://cache.lix.systems" trusted-public-keys = ["cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="];
"https://nix-community.cachix.org"
"https://nixpkgs-unfree.cachix.org"
"https://0uptime.cachix.org"
];
trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
"0uptime.cachix.org-1:ctw8yknBLg9cZBdqss+5krAem0sHYdISkw/IFdRbYdE="
];
}; };
}; };
catppuccin = {
flavor = "macchiato"; catppuccin.flavor = "macchiato";
tty.enable = true; catppuccin.enable = true;
# sddm.enable = true;
# sddm.flavor = "macchiato"; console.catppuccin.enable = true;
forgejo.enable = true;
forgejo.flavor = "macchiato"; home-manager.backupFileExtension = "backup";
# plymouth.enable = false;
# grub.enable = false; users.users.lillian = {
isNormalUser = true;
extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf" "docker"];
shell = pkgs.zsh;
hashedPasswordFile = config.sops.secrets."lillian-password".path;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGatnsrKMoZSW24Lw4meb6BAgHgeyN/8rUib4nZVT+CB lillian@EDI"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC7+LEQnC/nlYp7nQ4p6hUCqaGiqfsA3Mg8bSy+zA8Fj lillian@GLaDOS"
];
}; };
programs.zsh = { programs.zsh = {
enable = true; enable = true;
}; };
programs.gnupg.agent = {
enable = true;
enableBrowserSocket = true;
};
# stylix = {
# enable = true;
# # targets.qt.platform = "kde6";
# autoEnable = true;
# base16Scheme = {
# scheme = "Catppuccin Macchiato";
# author = "https://github.com/catppuccin/catppuccin";
# base00 = "24273a";
# base01 = "1e2030";
# base02 = "363a4f";
# base03 = "494d64";
# base04 = "5b6078";
# base05 = "cad3f5";
# base06 = "f4dbd6";
# base07 = "b7bdf8";
# base08 = "ed8796";
# base09 = "f5a97f";
# base0A = "eed49f";
# base0B = "a6da95";
# base0C = "8bd5ca";
# base0D = "8aadf4";
# base0E = "c6a0f6";
# base0F = "f0c6c6";
# };
# image = ./background.jpg;
# cursor.package = pkgs.catppuccin-cursors.macchiatoMauve;
# cursor.name = "catppuccin-macchiato-mauve-cursors";
# cursor.size = 16;
# homeManagerIntegration.followSystem = true;
# fonts = {
# serif = {
# package = pkgs.dejavu_fonts;
# name = "DejaVu Serif";
# };
# monospace = {
# package = pkgs.dejavu_fonts;
# name = "DejaVu Sans Mono";
# };
# sansSerif = {
# package = pkgs.dejavu_fonts;
# name = "DejaVu Sans";
# };
# emoji = {
# package = pkgs.noto-fonts-emoji-blob-bin;
# name = "Blobmoji";
# };
# };
# };
fonts.packages = [
pkgs.atkinson-hyperlegible
pkgs.atkinson-monolegible
pkgs.noto-fonts
pkgs.nerd-fonts.fira-mono
];
fonts.fontconfig.defaultFonts = {
emoji = ["Blobmoji"];
monospace = ["Atkinson Monolegible"];
sansSerif = ["Atkinson Hyperlegible"];
};
networking =
if config.services.vpn-ip.enable
then {
wireguard.enable = true;
wg-quick.interfaces = {
wg0 = {
autostart = true;
address = ["10.0.0.${config.services.vpn-ip.ip}/24" "fdc9:281f:04d7:9ee9::${config.services.vpn-ip.ip}/64"];
dns = ["10.0.0.1" "fdc9:281f:04d7:9ee9::1"];
listenPort = 51821;
privateKeyFile = config.sops.secrets."wg-private-key".path;
peers = [
{
publicKey = "A02sO7uLdgflhPIRd0cbJONIaPP4z8HTxDkmX4NegFg=";
endpoint = "84.87.146.85:51821";
allowedIPs = ["0.0.0.0/0" "::/0"];
persistentKeepalive = 25;
}
];
};
};
}
else {};
# Enable completion of system packages by zsh # Enable completion of system packages by zsh
environment.pathsToLink = ["/share/zsh"]; environment.pathsToLink = ["/share/zsh"];
home-manager = { users.mutableUsers = false;
backupFileExtension = "backup";
extraSpecialArgs = {
inputs = inputs;
outputs = outputs;
};
users = {
# Import your home-manager configuration
lillian = import ../../home-manager/hosts/${config.networking.hostName};
};
};
users = { users.users.root = {
users.lillian = { hashedPassword = "*";
isNormalUser = true;
extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf" "docker"];
shell = pkgs.zsh;
hashedPasswordFile = config.sops.secrets."lillian-password".path;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILhwA+ZdP2tEBYQNdzLHZzFHxocyeqzhXI6tFpaZA3PZ lillian@EDI"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH30G2PJOnI6jnAtxOQV0SpLFUva0adarLZLvaoZvjGE lillian@GLaDOS"
];
};
mutableUsers = false;
users.root = {
hashedPassword = "*";
};
}; };
} }

View file

@ -1,4 +1,11 @@
{...}: { {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# Select internationalisation properties. # Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";

Some files were not shown because too many files have changed in this diff Show more