diff --git a/homes/x86_64-linux/kb@Ohybke/default.nix b/homes/x86_64-linux/kb@Ohybke/default.nix index bff6738..617f670 100644 --- a/homes/x86_64-linux/kb@Ohybke/default.nix +++ b/homes/x86_64-linux/kb@Ohybke/default.nix @@ -1,19 +1,10 @@ { config, pkgs, lib, inputs, ... }: -let - # Firefox Profile Setting States - lock-false = { - Value = false; - Status = "locked"; - }; - lock-true = { - Value = true; - Status = "locked"; - }; - lock-empty-string = { - Value = ""; - Status = "locked"; - }; -in { +{ + imports = [ + ./firefox.nix + ./ssh.nix + ]; + home.username = "kb"; home.homeDirectory = "/home/kb"; home.packages = with pkgs; [ @@ -80,132 +71,9 @@ in { services.gpg-agent.enable = true; - # SSH Configuration - services.ssh-agent.enable = true; - programs.ssh.enable = true; - programs.ssh.matchBlocks."kb01@kb-one-git" = { - host = "git.kb-one.de"; - user = "git"; - identityFile = "/home/kb/.ssh/kb01@kb-one-git"; - port = 9522; - }; - programs.ssh.matchBlocks."kb01@0x90-git" = { - host = "git.0x90.space"; - user = "git"; - identityFile = "/home/kb/.ssh/kb01@0x90-git"; - }; - programs.ssh.matchBlocks."master@kb-game-01" = { - host = "kb-game-01"; - hostname = "game01.kb-one.de"; - user = "master"; - identityFile = "/home/kb/.ssh/master@kb-game-01"; - port = 3422; - }; - programs.ssh.matchBlocks."master@kb-web-01" = { - host = "kb-web-01"; - hostname = "kb-one.de"; - user = "master"; - identityFile = "/home/kb/.ssh/master@kb-web-01"; - port = 2222; - }; - programs.ssh.matchBlocks."root@kb-senfnvp-remoteunlock" = { - host = "kb-senfnvp-remoteunlock"; - hostname = "senfnvp.kb-one.de"; - user = "root"; - identityFile = "/home/kb/.ssh/root@kb-senfnvp-remoteunlock"; - port = 7299; - }; - programs.ssh.matchBlocks."master@kb-senfnvp" = { - host = "kb-senfnvp"; - hostname = "senfnvp.kb-one.de"; - user = "master"; - identityFile = "/home/kb/.ssh/master@kb-senfnvp"; - port = 9553; - }; - programs.ssh.matchBlocks."master@mow0m" = { - host = "mow0m"; - hostname = "mow0m.lan"; - user = "master"; - identityFile = "/home/kb/.ssh/master@mow0m"; - port = 9553; - }; - programs.ssh.matchBlocks."remoteunlock-mow0m" = { - host = "mow0m"; - hostname = "mow0m.lan"; - user = "root"; - identityFile = "/home/kb/.ssh/remoteunlock-mow0m"; - port = 2550; - }; - + programs.vim.enable = true; + programs.vim.defaultEditor = true; programs.helix.enable = true; - programs.helix.defaultEditor = true; - - programs.firefox = { - enable = true; - nativeMessagingHosts = [ pkgs.firefoxpwa ]; - policies = { - DisableTelemetry = true; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableFirefoxAccounts = true; - AutofillAddressEnabled = false; - AutofillCreditCardEnabled = false; - OfferToSaveLogins = false; - FirefoxHome.TopSites = false; - FirefoxHome.SponsoredTopSites = false; - Preferences = { - "browser.newtabpage.pinned" = lock-empty-string; - "browser.topsites.contile.enabled" = lock-false; - }; - DontCheckDefaultBrowser = true; - DisableProfileImport = true; - SearchBar = "unified"; - SearchEngines.Add = [ # Only Available in ESR Releases https://mozilla.github.io/policy-templates/#searchengines--add - { - Name = "Brave"; - URLTemplate = "https://search.brave.com/search?q={SearchTerms}"; - Alias = "br"; - } - ]; - ExtensionSettings = { # See https://mozilla.github.io/policy-templates/#extensionsettings - "extension@tabliss.io" = { - install_url = "https://addons.mozilla.org/firefox/downloads/file/3940751/tabliss-2.6.0.xpi"; - installation_mode = "normal_installed"; - }; - "gdpr@cavi.au.dk" = { - install_url = "https://addons.mozilla.org/firefox/downloads/file/4362793/consent_o_matic-1.1.3.xpi"; - installation_mode = "normal_installed"; - }; - "uBlock0@raymondhill.net" = { - install_url = "https://addons.mozilla.org/firefox/downloads/file/4382536/ublock_origin-1.61.0.xpi"; - installation_mode = "normal_installed"; - }; - "keepassxc-browser@keepassxc.org" = { - install_url = "https://addons.mozilla.org/firefox/downloads/file/4376326/keepassxc_browser-1.9.4.xpi"; - installation_mode = "normal_installed"; - }; - "offline-qr-code@rugk.github.io" = { - install_url = "https://addons.mozilla.org/firefox/downloads/file/4349427/offline_qr_code_generator-1.9.xpi"; - installation_mode = "normal_installed"; - }; - "addon@darkreader.org" = { - install_url = "https://addons.mozilla.org/firefox/downloads/file/4378073/darkreader-4.9.96.xpi"; - installation_mode = "normal_installed"; - }; - "firefoxpwa@filips.si" = { - install_url = "https://addons.mozilla.org/firefox/downloads/file/4383345/pwas_for_firefox-2.13.1.xpi"; - installation_mode = "normal_installed"; - }; - }; - Bookmarks = [ - { - Title = "Syncthing"; - URL = "localhost:8384"; - Placement = "toolbar"; - } - ]; - }; - }; home.stateVersion = "24.05"; } diff --git a/homes/x86_64-linux/kb@Ohybke/firefox.nix b/homes/x86_64-linux/kb@Ohybke/firefox.nix new file mode 100644 index 0000000..295d378 --- /dev/null +++ b/homes/x86_64-linux/kb@Ohybke/firefox.nix @@ -0,0 +1,127 @@ +{ config, pkgs, lib, inputs, ... }: +let + # Firefox Profile Setting States + lock-false = { + Value = false; + Status = "locked"; + }; + lock-true = { + Value = true; + Status = "locked"; + }; + lock-empty-string = { + Value = ""; + Status = "locked"; + }; +in { + programs.firefox = { + enable = true; + nativeMessagingHosts = []; # pkgs.firefoxpwa removed. I use ungoogled-chromiums PWA Implementation for better stability. + policies = { + # --------- Privacy --------- + DisableTelemetry = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableFirefoxAccounts = true; + AutofillAddressEnabled = false; + AutofillCreditCardEnabled = false; + OfferToSaveLogins = false; + FirefoxHome.TopSites = false; + FirefoxHome.SponsoredTopSites = false; + Preferences = { + "browser.newtabpage.pinned" = lock-empty-string; + "browser.topsites.contile.enabled" = lock-false; + }; + # -------- Opiniated -------- + DontCheckDefaultBrowser = true; + DisableProfileImport = true; + SearchBar = "unified"; + SearchEngines.Add = [ # Only Available in ESR Releases https://mozilla.github.io/policy-templates/#searchengines--add + { + Name = "Brave"; + URLTemplate = "https://search.brave.com/search?q={SearchTerms}"; + Alias = "br"; + } + ]; + # Extensions https://mozilla.github.io/policy-templates#extensionsettings + ExtensionSettings = { + "uBlock0@raymondhill.net" = { # uBlock Origin: https://addons.mozilla.org/en-US/firefox/addon/ublock-origin + install_url = "https://addons.mozilla.org/firefox/downloads/file/4458450/ublock_origin-1.63.2.xpi"; + installation_mode = "normal_installed"; + private_browsing = true; + }; + "idcac-pub@guus.ninja" = { # I still don't care about cookies: https://addons.mozilla.org/en-US/firefox/addon/istilldontcareaboutcookies/ + install_url = "https://addons.mozilla.org/firefox/downloads/file/4216095/istilldontcareaboutcookies-1.1.4.xpi"; + installation_mode = "normal_installed"; + private_browsing = true; + }; + "keepassxc-browser@keepassxc.org" = { # KeePassXC-Browser: https://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser + install_url = "https://addons.mozilla.org/firefox/downloads/file/4441759/keepassxc_browser-1.9.7.xpi"; + installation_mode = "normal_installed"; + }; + "offline-qr-code@rugk.github.io" = { # Offline QR Code Generator: https://addons.mozilla.org/en-US/firefox/addon/offline-qr-code-generator/ + install_url = "https://addons.mozilla.org/firefox/downloads/file/4349427/offline_qr_code_generator-1.9.xpi"; + installation_mode = "normal_installed"; + }; + "addon@darkreader.org" = { # Dark Reader: https://addons.mozilla.org/en-US/firefox/addon/darkreader/ + install_url = "https://addons.mozilla.org/firefox/downloads/file/4439735/darkreader-4.9.103.xpi"; + installation_mode = "normal_installed"; + }; + "languagetool-webextension@languagetool.org" = { # LanguageTool: https://addons.mozilla.org/en-US/firefox/addon/languagetool + install_url = "https://addons.mozilla.org/firefox/downloads/file/4470413/languagetool-8.19.4.xpi"; + installation_mode = "normal_installed"; + }; + }; + Bookmarks = [ + { + Title = "Syncthing"; + URL = "localhost:8384"; + Placement = "toolbar"; + } + { + Title = "NixOS Search - Packages"; + URL = "https://search.nixos.org/packages?channel=unstable"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "NixOS Search - Options"; + URL = "https://search.nixos.org/options?channel=unstable"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "Home Manager Search - Options"; + URL = "https://home-manager-options.extranix.com/?release=master"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "Lix"; + URL = "https://lix.systems/"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "AUX - Homepage"; + URL = "https://auxolotl.org/en/"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "AUX - Forum"; + URL = "https://forum.aux.computer/"; + Placement = "toolbar"; + Folder = "NixOS"; + } + { + Title = "Nix Pills"; + URL = "https://nixos.org/guides/nix-pills/"; + Placement = "toolbar"; + Folder = "NixOS"; + } + ]; + }; + }; +} + diff --git a/homes/x86_64-linux/kb@Ohybke/ssh.nix b/homes/x86_64-linux/kb@Ohybke/ssh.nix new file mode 100644 index 0000000..7b8d6fd --- /dev/null +++ b/homes/x86_64-linux/kb@Ohybke/ssh.nix @@ -0,0 +1,52 @@ +{ config, pkgs, lib, inputs, ... }: +{ + # SSH Configuration + services.ssh-agent.enable = true; + programs.ssh.enable = true; + programs.ssh.matchBlocks."kb01@kb-one-git" = { + host = "git.kb-one.de"; + user = "git"; + identityFile = "~/.ssh/kb01@kb-one-git"; + port = 9522; + }; + programs.ssh.matchBlocks."kb01@0x90-git" = { + host = "git.0x90.space"; + user = "git"; + identityFile = "~/.ssh/kb01@0x90-git"; + }; + programs.ssh.matchBlocks."master@pkpnafs" = { + host = "pkpnafs"; + hostname = "pkpnafs.kb-one.de"; + user = "master"; + identityFile = "~/.ssh/master@pkpnafs"; + port = 3422; + }; + programs.ssh.matchBlocks."master@kb-web-01" = { + host = "kb-web-01"; + hostname = "kb-one.de"; + user = "master"; + identityFile = "~/.ssh/master@kb-web-01"; + port = 2222; + }; + programs.ssh.matchBlocks."remoteunlock-senfnvp" = { + host = "remoteunlock-senfnvp"; + hostname = "senfnvp.kb-one.de"; + user = "root"; + identityFile = "~/.ssh/remoteunlock-senfnvp"; + port = 7299; + }; + programs.ssh.matchBlocks."master@senfnvp" = { + host = "senfnvp"; + hostname = "senfnvp.kb-one.de"; + user = "master"; + identityFile = "~/.ssh/master@senfnvp"; + port = 9553; + }; + programs.ssh.matchBlocks."master@mow0m" = { + host = "mow0m"; + hostname = "mow0m.lan"; + user = "master"; + identityFile = "~/.ssh/master@mow0m"; + port = 9553; + }; +}