mirror of
https://codeberg.org/jopejoe1/nix-conf.git
synced 2024-12-29 18:16:52 +01:00
run nix fmt
This commit is contained in:
parent
eab8e4b1d8
commit
d5cbe31c02
61 changed files with 1299 additions and 830 deletions
30
flake.nix
30
flake.nix
|
@ -43,7 +43,6 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Packages
|
# Packages
|
||||||
tela-icon-theme = {
|
tela-icon-theme = {
|
||||||
url = "github:vinceliuice/Tela-icon-theme";
|
url = "github:vinceliuice/Tela-icon-theme";
|
||||||
|
@ -67,18 +66,21 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, ... }: {
|
outputs =
|
||||||
nixosModules.default = import ./modules;
|
inputs@{ self, nixpkgs, ... }:
|
||||||
homeManagerModules.default = import ./home-modules;
|
{
|
||||||
nixosConfigurations = import ./systems {
|
nixosModules.default = import ./modules;
|
||||||
inherit self inputs nixpkgs;
|
homeManagerModules.default = import ./home-modules;
|
||||||
|
nixosConfigurations = import ./systems { inherit self inputs nixpkgs; };
|
||||||
|
packages = nixpkgs.lib.attrsets.genAttrs nixpkgs.lib.systems.flakeExposed (
|
||||||
|
system:
|
||||||
|
import ./packages {
|
||||||
|
inherit system inputs;
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
formatter = nixpkgs.lib.attrsets.genAttrs nixpkgs.lib.systems.flakeExposed (
|
||||||
|
system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style
|
||||||
|
);
|
||||||
};
|
};
|
||||||
packages = nixpkgs.lib.attrsets.genAttrs nixpkgs.lib.systems.flakeExposed (system: import ./packages {
|
|
||||||
inherit system inputs;
|
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
|
||||||
});
|
|
||||||
formatter = nixpkgs.lib.attrsets.genAttrs nixpkgs.lib.systems.flakeExposed (system:
|
|
||||||
nixpkgs.legacyPackages.${system}.nixfmt-rfc-style
|
|
||||||
);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.common;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.common;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.common = {
|
options.jopejoe1.common = {
|
||||||
enable = lib.mkEnableOption "Enable Common Homanger settings";
|
enable = lib.mkEnableOption "Enable Common Homanger settings";
|
||||||
gui = lib.mkEnableOption "Graphical programms";
|
gui = lib.mkEnableOption "Graphical programms";
|
||||||
|
@ -63,4 +65,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.direnv;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.direnv;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.direnv = {
|
options.jopejoe1.direnv = {
|
||||||
enable = lib.mkEnableOption "Enable direnv";
|
enable = lib.mkEnableOption "Enable direnv";
|
||||||
};
|
};
|
||||||
|
@ -13,5 +15,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ config, lib, pkgs, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.jopejoe1.firefox;
|
cfg = config.jopejoe1.firefox;
|
||||||
|
@ -6,7 +12,8 @@ let
|
||||||
Value = value;
|
Value = value;
|
||||||
Status = "locked";
|
Status = "locked";
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.firefox = {
|
options.jopejoe1.firefox = {
|
||||||
enable = lib.mkEnableOption "Enable Firefox";
|
enable = lib.mkEnableOption "Enable Firefox";
|
||||||
};
|
};
|
||||||
|
@ -90,68 +97,70 @@ in {
|
||||||
};
|
};
|
||||||
Preferences = {
|
Preferences = {
|
||||||
"privacy.resistFingerprinting" = lock true;
|
"privacy.resistFingerprinting" = lock true;
|
||||||
"privacy.trackingprotection.fingerprinting.enabled" = lock true;
|
"privacy.trackingprotection.fingerprinting.enabled" = lock true;
|
||||||
"privacy.trackingprotection.cryptomining.enabled" = lock true;
|
"privacy.trackingprotection.cryptomining.enabled" = lock true;
|
||||||
"dom.event.clipboardevents.enabled" = lock false;
|
"dom.event.clipboardevents.enabled" = lock false;
|
||||||
"dom.battery.enabled" = lock false;
|
"dom.battery.enabled" = lock false;
|
||||||
"browser.safebrowsing.phishing.enabled" = lock false;
|
"browser.safebrowsing.phishing.enabled" = lock false;
|
||||||
"browser.safebrowsing.malware.enabled" = lock false;
|
"browser.safebrowsing.malware.enabled" = lock false;
|
||||||
"browser.zoom.siteSpecific" = lock true;
|
"browser.zoom.siteSpecific" = lock true;
|
||||||
"config.trim_on_minimize" = lock true;
|
"config.trim_on_minimize" = lock true;
|
||||||
"pdfjs.annotationEditorMode" = lock 0;
|
"pdfjs.annotationEditorMode" = lock 0;
|
||||||
"pdfjs.annotationMode" = lock 2;
|
"pdfjs.annotationMode" = lock 2;
|
||||||
"font.name-list.emoji" = lock (lib.strings.concatStringsSep ", " config.jopejoe1.common.fonts.emoji);
|
"font.name-list.emoji" = lock (
|
||||||
|
lib.strings.concatStringsSep ", " config.jopejoe1.common.fonts.emoji
|
||||||
|
);
|
||||||
|
|
||||||
# Theming
|
# Theming
|
||||||
"widget.gtk.overlay-scrollbars.enabled" = lock false;
|
"widget.gtk.overlay-scrollbars.enabled" = lock false;
|
||||||
|
|
||||||
## Arkenfox Stuff
|
## Arkenfox Stuff
|
||||||
"browser.aboutConfig.showWarning" = lock false;
|
"browser.aboutConfig.showWarning" = lock false;
|
||||||
"browser.newtabpage.activity-stream.showSponsored" = lock false;
|
"browser.newtabpage.activity-stream.showSponsored" = lock false;
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock false;
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock false;
|
||||||
"extensions.getAddons.showPane" = lock false;
|
"extensions.getAddons.showPane" = lock false;
|
||||||
"extensions.htmlaboutaddons.recommendations.enabled" = lock false;
|
"extensions.htmlaboutaddons.recommendations.enabled" = lock false;
|
||||||
"browser.discovery.enabled" = lock false;
|
"browser.discovery.enabled" = lock false;
|
||||||
"browser.shopping.experience2023.enabled" = lock false;
|
"browser.shopping.experience2023.enabled" = lock false;
|
||||||
"datareporting.policy.dataSubmissionEnabled" = lock false;
|
"datareporting.policy.dataSubmissionEnabled" = lock false;
|
||||||
"datareporting.healthreport.uploadEnabled" = lock false;
|
"datareporting.healthreport.uploadEnabled" = lock false;
|
||||||
"toolkit.telemetry.unified" = lock false;
|
"toolkit.telemetry.unified" = lock false;
|
||||||
"toolkit.telemetry.enabled" = lock false;
|
"toolkit.telemetry.enabled" = lock false;
|
||||||
"toolkit.telemetry.server" = lock "data:,";
|
"toolkit.telemetry.server" = lock "data:,";
|
||||||
"toolkit.telemetry.archive.enabled" = lock false;
|
"toolkit.telemetry.archive.enabled" = lock false;
|
||||||
"toolkit.telemetry.newProfilePing.enabled" = lock false;
|
"toolkit.telemetry.newProfilePing.enabled" = lock false;
|
||||||
"toolkit.telemetry.shutdownPingSender.enabled" = lock false;
|
"toolkit.telemetry.shutdownPingSender.enabled" = lock false;
|
||||||
"toolkit.telemetry.updatePing.enabled" = lock false;
|
"toolkit.telemetry.updatePing.enabled" = lock false;
|
||||||
"toolkit.telemetry.bhrPing.enabled" = lock false;
|
"toolkit.telemetry.bhrPing.enabled" = lock false;
|
||||||
"toolkit.telemetry.firstShutdownPing.enabled" = lock false;
|
"toolkit.telemetry.firstShutdownPing.enabled" = lock false;
|
||||||
"toolkit.telemetry.coverage.opt-out" = lock true;
|
"toolkit.telemetry.coverage.opt-out" = lock true;
|
||||||
"toolkit.coverage.opt-out" = lock true;
|
"toolkit.coverage.opt-out" = lock true;
|
||||||
"toolkit.coverage.endpoint.base" = lock "";
|
"toolkit.coverage.endpoint.base" = lock "";
|
||||||
"browser.ping-centre.telemetry" = lock false;
|
"browser.ping-centre.telemetry" = lock false;
|
||||||
"browser.newtabpage.activity-stream.feeds.telemetry" = lock false;
|
"browser.newtabpage.activity-stream.feeds.telemetry" = lock false;
|
||||||
"browser.newtabpage.activity-stream.telemetry" = lock false;
|
"browser.newtabpage.activity-stream.telemetry" = lock false;
|
||||||
"app.shield.optoutstudies.enabled" = lock false;
|
"app.shield.optoutstudies.enabled" = lock false;
|
||||||
"app.normandy.enabled" = lock false;
|
"app.normandy.enabled" = lock false;
|
||||||
"app.normandy.api_url" = lock "";
|
"app.normandy.api_url" = lock "";
|
||||||
"breakpad.reportURL" = lock "";
|
"breakpad.reportURL" = lock "";
|
||||||
"browser.tabs.crashReporting.sendReport" = lock false;
|
"browser.tabs.crashReporting.sendReport" = lock false;
|
||||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = lock false;
|
"browser.crashReports.unsubmittedCheck.autoSubmit2" = lock false;
|
||||||
"captivedetect.canonicalURL" = lock "";
|
"captivedetect.canonicalURL" = lock "";
|
||||||
"network.captive-portal-service.enabled" = lock false;
|
"network.captive-portal-service.enabled" = lock false;
|
||||||
"network.connectivity-service.enabled" = lock false;
|
"network.connectivity-service.enabled" = lock false;
|
||||||
"network.prefetch-next" = lock false;
|
"network.prefetch-next" = lock false;
|
||||||
"network.dns.disablePrefetch" = lock true;
|
"network.dns.disablePrefetch" = lock true;
|
||||||
"network.predictor.enabled" = lock false;
|
"network.predictor.enabled" = lock false;
|
||||||
"network.predictor.enable-prefetch" = lock false;
|
"network.predictor.enable-prefetch" = lock false;
|
||||||
"network.http.speculative-parallel-limit" = lock 0;
|
"network.http.speculative-parallel-limit" = lock 0;
|
||||||
"browser.places.speculativeConnect.enabled" = lock false;
|
"browser.places.speculativeConnect.enabled" = lock false;
|
||||||
"browser.urlbar.speculativeConnect.enabled" = lock false;
|
"browser.urlbar.speculativeConnect.enabled" = lock false;
|
||||||
"browser.urlbar.suggest.quicksuggest.nonsponsored" = lock false;
|
"browser.urlbar.suggest.quicksuggest.nonsponsored" = lock false;
|
||||||
"browser.urlbar.suggest.quicksuggest.sponsored" = lock false;
|
"browser.urlbar.suggest.quicksuggest.sponsored" = lock false;
|
||||||
"browser.formfill.enable" = lock false;
|
"browser.formfill.enable" = lock false;
|
||||||
"browser.download.start_downloads_in_tmp_dir" = lock true;
|
"browser.download.start_downloads_in_tmp_dir" = lock true;
|
||||||
"browser.uitour.enabled" = lock false;
|
"browser.uitour.enabled" = lock false;
|
||||||
"browser.tabs.inTitlebar" = lock 0;
|
"browser.tabs.inTitlebar" = lock 0;
|
||||||
};
|
};
|
||||||
"3rdparty" = {
|
"3rdparty" = {
|
||||||
Extensions = {
|
Extensions = {
|
||||||
|
@ -162,43 +171,43 @@ in {
|
||||||
uiAccentCustom0 = "#b4befe";
|
uiAccentCustom0 = "#b4befe";
|
||||||
cloudStorageEnabled = false;
|
cloudStorageEnabled = false;
|
||||||
};
|
};
|
||||||
selectedFilterLists = [
|
selectedFilterLists = [
|
||||||
"adguard-generic"
|
"adguard-generic"
|
||||||
"adguard-annoyance"
|
"adguard-annoyance"
|
||||||
"adguard-cookies"
|
"adguard-cookies"
|
||||||
"adguard-social"
|
"adguard-social"
|
||||||
"adguard-spyware"
|
"adguard-spyware"
|
||||||
"adguard-spyware-url"
|
"adguard-spyware-url"
|
||||||
"adguard-popup-overlays"
|
"adguard-popup-overlays"
|
||||||
"adguard-other-annoyances"
|
"adguard-other-annoyances"
|
||||||
"adguard-widgets"
|
"adguard-widgets"
|
||||||
"block-lan"
|
"block-lan"
|
||||||
"curben-phishing"
|
"curben-phishing"
|
||||||
"dpollock-0"
|
"dpollock-0"
|
||||||
"easylist"
|
"easylist"
|
||||||
"easylist-chat"
|
"easylist-chat"
|
||||||
"easylist-newsletters"
|
"easylist-newsletters"
|
||||||
"easylist-notifications"
|
"easylist-notifications"
|
||||||
"easylist-annoyances"
|
"easylist-annoyances"
|
||||||
"easyprivacy"
|
"easyprivacy"
|
||||||
"fanboy-cookiemonster"
|
"fanboy-cookiemonster"
|
||||||
"fanboy-social"
|
"fanboy-social"
|
||||||
"fanboy-thirdparty_social"
|
"fanboy-thirdparty_social"
|
||||||
"FIN-0"
|
"FIN-0"
|
||||||
"plowe-0"
|
"plowe-0"
|
||||||
"ublock-abuse"
|
"ublock-abuse"
|
||||||
"ublock-badware"
|
"ublock-badware"
|
||||||
"ublock-cookies-adguard"
|
"ublock-cookies-adguard"
|
||||||
"ublock-cookies-easylist"
|
"ublock-cookies-easylist"
|
||||||
"ublock-filters"
|
"ublock-filters"
|
||||||
"ublock-privacy"
|
"ublock-privacy"
|
||||||
"ublock-quick-fixes"
|
"ublock-quick-fixes"
|
||||||
"ublock-unbreak"
|
"ublock-unbreak"
|
||||||
"ublock-annoyances"
|
"ublock-annoyances"
|
||||||
"urlhaus-1"
|
"urlhaus-1"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
filters = [''stackoverflow.com##.sm\:fd-column.flex__allitems6.d-flex.mx-auto.wmx9''];
|
filters = [ ''stackoverflow.com##.sm\:fd-column.flex__allitems6.d-flex.mx-auto.wmx9'' ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -239,138 +248,162 @@ in {
|
||||||
force = true;
|
force = true;
|
||||||
engines = {
|
engines = {
|
||||||
"Nix Packages" = {
|
"Nix Packages" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://search.nixos.org/packages";
|
{
|
||||||
params = [
|
template = "https://search.nixos.org/packages";
|
||||||
{
|
params = [
|
||||||
name = "type";
|
{
|
||||||
value = "packages";
|
name = "type";
|
||||||
}
|
value = "packages";
|
||||||
{
|
}
|
||||||
name = "channel";
|
{
|
||||||
value = "unstable";
|
name = "channel";
|
||||||
}
|
value = "unstable";
|
||||||
{
|
}
|
||||||
name = "query";
|
{
|
||||||
value = "{searchTerms}";
|
name = "query";
|
||||||
}
|
value = "{searchTerms}";
|
||||||
];
|
}
|
||||||
}];
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "@np" ];
|
definedAliases = [ "@np" ];
|
||||||
};
|
};
|
||||||
"NixOS Modules" = {
|
"NixOS Modules" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://search.nixos.org/options";
|
{
|
||||||
params = [
|
template = "https://search.nixos.org/options";
|
||||||
{
|
params = [
|
||||||
name = "type";
|
{
|
||||||
value = "packages";
|
name = "type";
|
||||||
}
|
value = "packages";
|
||||||
{
|
}
|
||||||
name = "channel";
|
{
|
||||||
value = "unstable";
|
name = "channel";
|
||||||
}
|
value = "unstable";
|
||||||
{
|
}
|
||||||
name = "query";
|
{
|
||||||
value = "{searchTerms}";
|
name = "query";
|
||||||
}
|
value = "{searchTerms}";
|
||||||
];
|
}
|
||||||
}];
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "@nm" ];
|
definedAliases = [ "@nm" ];
|
||||||
};
|
};
|
||||||
"Home Manager Modules" = {
|
"Home Manager Modules" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://home-manager-options.extranix.com/";
|
{
|
||||||
params = [
|
template = "https://home-manager-options.extranix.com/";
|
||||||
{
|
params = [
|
||||||
name = "query";
|
{
|
||||||
value = "{searchTerms}";
|
name = "query";
|
||||||
}
|
value = "{searchTerms}";
|
||||||
{
|
}
|
||||||
name = "release";
|
{
|
||||||
value = "master";
|
name = "release";
|
||||||
}
|
value = "master";
|
||||||
];
|
}
|
||||||
}];
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "@hm" ];
|
definedAliases = [ "@hm" ];
|
||||||
};
|
};
|
||||||
"Repology" = {
|
"Repology" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://repology.org/projects";
|
{
|
||||||
params = [
|
template = "https://repology.org/projects";
|
||||||
{
|
params = [
|
||||||
name = "search";
|
{
|
||||||
value = "{searchTerms}";
|
name = "search";
|
||||||
}
|
value = "{searchTerms}";
|
||||||
];
|
}
|
||||||
}];
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
iconUpdateURL = "https://raw.githubusercontent.com/repology/repology-webapp/master/repologyapp/static/repology40x40.v1.png";
|
iconUpdateURL = "https://raw.githubusercontent.com/repology/repology-webapp/master/repologyapp/static/repology40x40.v1.png";
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
definedAliases = [ "@repo" ];
|
definedAliases = [ "@repo" ];
|
||||||
};
|
};
|
||||||
"NixOS Wiki" = {
|
"NixOS Wiki" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://wiki.nixos.org/w/index.php";
|
{
|
||||||
params = [{
|
template = "https://wiki.nixos.org/w/index.php";
|
||||||
name = "search";
|
params = [
|
||||||
value = "{searchTerms}";
|
{
|
||||||
}];
|
name = "search";
|
||||||
}];
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
icon = "${config.programs.firefox.profiles.default.search.engines."Nix Packages".icon}";
|
icon = "${config.programs.firefox.profiles.default.search.engines."Nix Packages".icon}";
|
||||||
definedAliases = [ "@nw" ];
|
definedAliases = [ "@nw" ];
|
||||||
};
|
};
|
||||||
"Arch Wiki" = {
|
"Arch Wiki" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://wiki.archlinux.org/index.php";
|
{
|
||||||
params = [{
|
template = "https://wiki.archlinux.org/index.php";
|
||||||
name = "search";
|
params = [
|
||||||
value = "{searchTerms}";
|
{
|
||||||
}];
|
name = "search";
|
||||||
}];
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
iconUpdateURL = "https://upload.wikimedia.org/wikipedia/commons/1/13/Arch_Linux_%22Crystal%22_icon.svg";
|
iconUpdateURL = "https://upload.wikimedia.org/wikipedia/commons/1/13/Arch_Linux_%22Crystal%22_icon.svg";
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
definedAliases = [ "@arch" ];
|
definedAliases = [ "@arch" ];
|
||||||
};
|
};
|
||||||
"Minecraft Wiki" = {
|
"Minecraft Wiki" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://minecraft.wiki/";
|
{
|
||||||
params = [{
|
template = "https://minecraft.wiki/";
|
||||||
name = "search";
|
params = [
|
||||||
value = "{searchTerms}";
|
{
|
||||||
}];
|
name = "search";
|
||||||
}];
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
iconUpdateURL = "https://minecraft.wiki/images/Wiki.png";
|
iconUpdateURL = "https://minecraft.wiki/images/Wiki.png";
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
definedAliases = [ "@mc" ];
|
definedAliases = [ "@mc" ];
|
||||||
};
|
};
|
||||||
"Warframe Wiki" = {
|
"Warframe Wiki" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template =
|
{
|
||||||
"https://warframe.fandom.com/wiki/Special:Search";
|
template = "https://warframe.fandom.com/wiki/Special:Search";
|
||||||
params = [{
|
params = [
|
||||||
name = "query";
|
{
|
||||||
value = "{searchTerms}";
|
name = "query";
|
||||||
}];
|
value = "{searchTerms}";
|
||||||
}];
|
}
|
||||||
iconUpdateURL =
|
];
|
||||||
"https://static.wikia.nocookie.net/warframe/images/e/e6/Site-logo.png";
|
}
|
||||||
|
];
|
||||||
|
iconUpdateURL = "https://static.wikia.nocookie.net/warframe/images/e/e6/Site-logo.png";
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
definedAliases = [ "@wf" ];
|
definedAliases = [ "@wf" ];
|
||||||
};
|
};
|
||||||
"DuckDuckGo" = {
|
"DuckDuckGo" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template =
|
{
|
||||||
"https://duckduckgo.com";
|
template = "https://duckduckgo.com";
|
||||||
params = [{
|
params = [
|
||||||
name = "q";
|
{
|
||||||
value = "{searchTerms}";
|
name = "q";
|
||||||
}];
|
value = "{searchTerms}";
|
||||||
}];
|
}
|
||||||
iconUpdateURL =
|
];
|
||||||
"https://duckduckgo.com/assets/logo_header.v109.svg";
|
}
|
||||||
|
];
|
||||||
|
iconUpdateURL = "https://duckduckgo.com/assets/logo_header.v109.svg";
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
definedAliases = [ "ddg" ];
|
definedAliases = [ "ddg" ];
|
||||||
};
|
};
|
||||||
|
@ -395,4 +428,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.git;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.git;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.git = {
|
options.jopejoe1.git = {
|
||||||
enable = lib.mkEnableOption "Enable Git";
|
enable = lib.mkEnableOption "Enable Git";
|
||||||
};
|
};
|
||||||
|
@ -15,11 +22,13 @@ in {
|
||||||
userName = "jopejoe1";
|
userName = "jopejoe1";
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
core = {
|
core = {
|
||||||
whitespace = [ "blank-at-eol" "blank-at-eof" "space-before-tab" ];
|
whitespace = [
|
||||||
|
"blank-at-eol"
|
||||||
|
"blank-at-eof"
|
||||||
|
"space-before-tab"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.gpg;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.gpg;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.gpg = {
|
options.jopejoe1.gpg = {
|
||||||
enable = lib.mkEnableOption "Enable Nushell";
|
enable = lib.mkEnableOption "Enable Nushell";
|
||||||
};
|
};
|
||||||
|
@ -15,5 +22,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.nushell;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.nushell;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.nushell = {
|
options.jopejoe1.nushell = {
|
||||||
enable = lib.mkEnableOption "Enable Nushell";
|
enable = lib.mkEnableOption "Enable Nushell";
|
||||||
};
|
};
|
||||||
|
@ -28,5 +35,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.asf;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.asf;
|
||||||
options.jopejoe1.asf = { enable = lib.mkEnableOption "Enable ASF"; };
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.asf = {
|
||||||
|
enable = lib.mkEnableOption "Enable ASF";
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.archisteamfarm = {
|
services.archisteamfarm = {
|
||||||
|
@ -27,4 +31,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.audio;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.audio;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.audio = {
|
options.jopejoe1.audio = {
|
||||||
enable = lib.mkEnableOption "Enable Audio";
|
enable = lib.mkEnableOption "Enable Audio";
|
||||||
sennheiser-hd-660s = lib.mkEnableOption "Equalizer for Sennheiser HD 660S";
|
sennheiser-hd-660s = lib.mkEnableOption "Equalizer for Sennheiser HD 660S";
|
||||||
|
@ -23,37 +30,40 @@ in {
|
||||||
wireplumber.enable = true;
|
wireplumber.enable = true;
|
||||||
|
|
||||||
extraConfig.pipewire."30-noise-filter" = {
|
extraConfig.pipewire."30-noise-filter" = {
|
||||||
"context.modules" = [{
|
"context.modules" = [
|
||||||
name = "libpipewire-module-filter-chain";
|
{
|
||||||
args = {
|
name = "libpipewire-module-filter-chain";
|
||||||
"node.description" = "Noise Canceling source";
|
args = {
|
||||||
"media.name" = "Noise Canceling source";
|
"node.description" = "Noise Canceling source";
|
||||||
"filter.graph" = {
|
"media.name" = "Noise Canceling source";
|
||||||
nodes = [{
|
"filter.graph" = {
|
||||||
type = "ladspa";
|
nodes = [
|
||||||
name = "rnnoise";
|
{
|
||||||
plugin =
|
type = "ladspa";
|
||||||
"${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
|
name = "rnnoise";
|
||||||
label = "noise_suppressor_mono";
|
plugin = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
|
||||||
control = {
|
label = "noise_suppressor_mono";
|
||||||
"VAD Threshold (%)" = 50.0;
|
control = {
|
||||||
#"VAD Grace Period (ms)" = 0;
|
"VAD Threshold (%)" = 50.0;
|
||||||
"Retroactive VAD Grace (ms)" = 50;
|
#"VAD Grace Period (ms)" = 0;
|
||||||
};
|
"Retroactive VAD Grace (ms)" = 50;
|
||||||
}];
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"capture.props" = {
|
||||||
|
"node.name" = "capture.rnnoise_source";
|
||||||
|
"node.passive" = true;
|
||||||
|
"audio.rate" = 48000;
|
||||||
|
};
|
||||||
|
"playback.props" = {
|
||||||
|
"node.name" = "rnnoise_source";
|
||||||
|
"media.class" = "Audio/Source";
|
||||||
|
"audio.rate" = 48000;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"capture.props" = {
|
}
|
||||||
"node.name" = "capture.rnnoise_source";
|
];
|
||||||
"node.passive" = true;
|
|
||||||
"audio.rate" = 48000;
|
|
||||||
};
|
|
||||||
"playback.props" = {
|
|
||||||
"node.name" = "rnnoise_source";
|
|
||||||
"media.class" = "Audio/Source";
|
|
||||||
"audio.rate" = 48000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,185 +1,191 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.audio;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.audio;
|
||||||
|
in
|
||||||
|
{
|
||||||
config = lib.mkIf cfg.sennheiser-hd-660s {
|
config = lib.mkIf cfg.sennheiser-hd-660s {
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
extraConfig.pipewire."20-Senheiser-HD660S" = {
|
extraConfig.pipewire."20-Senheiser-HD660S" = {
|
||||||
"context.modules" = [{
|
"context.modules" = [
|
||||||
name = "libpipewire-module-filter-chain";
|
{
|
||||||
args = {
|
name = "libpipewire-module-filter-chain";
|
||||||
"node.description" = "Senheiser HD 660 S Equaliser";
|
args = {
|
||||||
"media.name" = "Senheiser HD 660 S Equaliser";
|
"node.description" = "Senheiser HD 660 S Equaliser";
|
||||||
"filter.graph" = {
|
"media.name" = "Senheiser HD 660 S Equaliser";
|
||||||
nodes = [
|
"filter.graph" = {
|
||||||
{
|
nodes = [
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_1";
|
type = "builtin";
|
||||||
label = "bq_highshelf";
|
name = "eq_band_1";
|
||||||
control = {
|
label = "bq_highshelf";
|
||||||
"Freq" = 0.0;
|
control = {
|
||||||
"Q" = 1.0;
|
"Freq" = 0.0;
|
||||||
"Gain" = -6.4;
|
"Q" = 1.0;
|
||||||
};
|
"Gain" = -6.4;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_2";
|
type = "builtin";
|
||||||
label = "bq_lowshelf";
|
name = "eq_band_2";
|
||||||
control = {
|
label = "bq_lowshelf";
|
||||||
"Freq" = 105.0;
|
control = {
|
||||||
"Q" = 0.7;
|
"Freq" = 105.0;
|
||||||
"Gain" = 6.5;
|
"Q" = 0.7;
|
||||||
};
|
"Gain" = 6.5;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_3";
|
type = "builtin";
|
||||||
label = "bq_peaking";
|
name = "eq_band_3";
|
||||||
control = {
|
label = "bq_peaking";
|
||||||
"Freq" = 178.0;
|
control = {
|
||||||
"Q" = 0.49;
|
"Freq" = 178.0;
|
||||||
"Gain" = -3.2;
|
"Q" = 0.49;
|
||||||
};
|
"Gain" = -3.2;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_4";
|
type = "builtin";
|
||||||
label = "bq_peaking";
|
name = "eq_band_4";
|
||||||
control = {
|
label = "bq_peaking";
|
||||||
"Freq" = 1222.0;
|
control = {
|
||||||
"Q" = 2.34;
|
"Freq" = 1222.0;
|
||||||
"Gain" = -2.3;
|
"Q" = 2.34;
|
||||||
};
|
"Gain" = -2.3;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_5";
|
type = "builtin";
|
||||||
label = "bq_peaking";
|
name = "eq_band_5";
|
||||||
control = {
|
label = "bq_peaking";
|
||||||
"Freq" = 5470.0;
|
control = {
|
||||||
"Q" = 4.4;
|
"Freq" = 5470.0;
|
||||||
"Gain" = -7.3;
|
"Q" = 4.4;
|
||||||
};
|
"Gain" = -7.3;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_6";
|
type = "builtin";
|
||||||
label = "bq_peaking";
|
name = "eq_band_6";
|
||||||
control = {
|
label = "bq_peaking";
|
||||||
"Freq" = 7899.0;
|
control = {
|
||||||
"Q" = 0.68;
|
"Freq" = 7899.0;
|
||||||
"Gain" = 6.5;
|
"Q" = 0.68;
|
||||||
};
|
"Gain" = 6.5;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_7";
|
type = "builtin";
|
||||||
label = "bq_peaking";
|
name = "eq_band_7";
|
||||||
control = {
|
label = "bq_peaking";
|
||||||
"Freq" = 784.0;
|
control = {
|
||||||
"Q" = 3.52;
|
"Freq" = 784.0;
|
||||||
"Gain" = -0.4;
|
"Q" = 3.52;
|
||||||
};
|
"Gain" = -0.4;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_8";
|
type = "builtin";
|
||||||
label = "bq_peaking";
|
name = "eq_band_8";
|
||||||
control = {
|
label = "bq_peaking";
|
||||||
"Freq" = 2250.0;
|
control = {
|
||||||
"Q" = 3.58;
|
"Freq" = 2250.0;
|
||||||
"Gain" = 1.3;
|
"Q" = 3.58;
|
||||||
};
|
"Gain" = 1.3;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_9";
|
type = "builtin";
|
||||||
label = "bq_peaking";
|
name = "eq_band_9";
|
||||||
control = {
|
label = "bq_peaking";
|
||||||
"Freq" = 3380.0;
|
control = {
|
||||||
"Q" = 2.84;
|
"Freq" = 3380.0;
|
||||||
"Gain" = -0.9;
|
"Q" = 2.84;
|
||||||
};
|
"Gain" = -0.9;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_10";
|
type = "builtin";
|
||||||
label = "bq_peaking";
|
name = "eq_band_10";
|
||||||
control = {
|
label = "bq_peaking";
|
||||||
"Freq" = 6701.0;
|
control = {
|
||||||
"Q" = 6.0;
|
"Freq" = 6701.0;
|
||||||
"Gain" = 1.2;
|
"Q" = 6.0;
|
||||||
};
|
"Gain" = 1.2;
|
||||||
}
|
};
|
||||||
{
|
}
|
||||||
type = "builtin";
|
{
|
||||||
name = "eq_band_11";
|
type = "builtin";
|
||||||
label = "bq_highshelf";
|
name = "eq_band_11";
|
||||||
control = {
|
label = "bq_highshelf";
|
||||||
"Freq" = 10000.0;
|
control = {
|
||||||
"Q" = 0.7;
|
"Freq" = 10000.0;
|
||||||
"Gain" = -1.1;
|
"Q" = 0.7;
|
||||||
};
|
"Gain" = -1.1;
|
||||||
}
|
};
|
||||||
];
|
}
|
||||||
links = [
|
];
|
||||||
{
|
links = [
|
||||||
output = "eq_band_1:Out";
|
{
|
||||||
input = "eq_band_2:In";
|
output = "eq_band_1:Out";
|
||||||
}
|
input = "eq_band_2:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_2:Out";
|
{
|
||||||
input = "eq_band_3:In";
|
output = "eq_band_2:Out";
|
||||||
}
|
input = "eq_band_3:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_3:Out";
|
{
|
||||||
input = "eq_band_4:In";
|
output = "eq_band_3:Out";
|
||||||
}
|
input = "eq_band_4:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_4:Out";
|
{
|
||||||
input = "eq_band_5:In";
|
output = "eq_band_4:Out";
|
||||||
}
|
input = "eq_band_5:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_5:Out";
|
{
|
||||||
input = "eq_band_6:In";
|
output = "eq_band_5:Out";
|
||||||
}
|
input = "eq_band_6:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_6:Out";
|
{
|
||||||
input = "eq_band_7:In";
|
output = "eq_band_6:Out";
|
||||||
}
|
input = "eq_band_7:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_7:Out";
|
{
|
||||||
input = "eq_band_8:In";
|
output = "eq_band_7:Out";
|
||||||
}
|
input = "eq_band_8:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_8:Out";
|
{
|
||||||
input = "eq_band_9:In";
|
output = "eq_band_8:Out";
|
||||||
}
|
input = "eq_band_9:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_9:Out";
|
{
|
||||||
input = "eq_band_10:In";
|
output = "eq_band_9:Out";
|
||||||
}
|
input = "eq_band_10:In";
|
||||||
{
|
}
|
||||||
output = "eq_band_10:Out";
|
{
|
||||||
input = "eq_band_11:In";
|
output = "eq_band_10:Out";
|
||||||
}
|
input = "eq_band_11:In";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"audio.channels" = 2;
|
||||||
|
"audio.position" = [
|
||||||
|
"FL"
|
||||||
|
"FR"
|
||||||
];
|
];
|
||||||
|
"capture.props" = {
|
||||||
|
"node.name" = "effect_input.eq11";
|
||||||
|
"media.class" = "Audio/Sink";
|
||||||
|
};
|
||||||
|
"playback.props" = {
|
||||||
|
"node.name" = "effect_output.eq11";
|
||||||
|
"node.passive" = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"audio.channels" = 2;
|
}
|
||||||
"audio.position" = [ "FL" "FR" ];
|
];
|
||||||
"capture.props" = {
|
|
||||||
"node.name" = "effect_input.eq11";
|
|
||||||
"media.class" = "Audio/Sink";
|
|
||||||
};
|
|
||||||
"playback.props" = {
|
|
||||||
"node.name" = "effect_output.eq11";
|
|
||||||
"node.passive" = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.auto-update;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.auto-update;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.auto-update = {
|
options.jopejoe1.auto-update = {
|
||||||
enable = lib.mkEnableOption "Enable Auto-Updates";
|
enable = lib.mkEnableOption "Enable Auto-Updates";
|
||||||
};
|
};
|
||||||
|
@ -12,11 +19,7 @@ in {
|
||||||
randomizedDelaySec = "30min";
|
randomizedDelaySec = "30min";
|
||||||
flake =
|
flake =
|
||||||
if config.services.archisteamfarm.enable then
|
if config.services.archisteamfarm.enable then
|
||||||
"$(${pkgs.coreutils}/bin/rm -rf /var/lib/update-repo && ${
|
"$(${pkgs.coreutils}/bin/rm -rf /var/lib/update-repo && ${lib.getExe pkgs.git} clone git@codeberg.org:jopejoe1/nix-conf.git /var/lib/update-repo -q --depth=1 && ${lib.getExe pkgs.git} -C /var/lib/update-repo am /home/jopejoe1/.config/patches/0001-add-liscense.patch -q)/var/lib/update-repo"
|
||||||
lib.getExe pkgs.git
|
|
||||||
} clone git@codeberg.org:jopejoe1/nix-conf.git /var/lib/update-repo -q --depth=1 && ${
|
|
||||||
lib.getExe pkgs.git
|
|
||||||
} -C /var/lib/update-repo am /home/jopejoe1/.config/patches/0001-add-liscense.patch -q)/var/lib/update-repo"
|
|
||||||
else
|
else
|
||||||
"github:jopejoe1/nix-conf";
|
"github:jopejoe1/nix-conf";
|
||||||
dates = "hourly";
|
dates = "hourly";
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.bluetooth;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.bluetooth;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.bluetooth = {
|
options.jopejoe1.bluetooth = {
|
||||||
enable = lib.mkEnableOption "Enable Bluetooth";
|
enable = lib.mkEnableOption "Enable Bluetooth";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [ ./systemd ];
|
||||||
./systemd
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.boot.systemd;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.boot.systemd;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.boot.systemd = {
|
options.jopejoe1.boot.systemd = {
|
||||||
enable = lib.mkEnableOption "Enable Systemd boot";
|
enable = lib.mkEnableOption "Enable Systemd boot";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,18 @@
|
||||||
{ config, lib, pkgs, self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.doc;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.doc;
|
||||||
options.jopejoe1.doc = { enable = lib.mkEnableOption "Enable Documentation"; };
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.doc = {
|
||||||
|
enable = lib.mkEnableOption "Enable Documentation";
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
documentation = {
|
documentation = {
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.events."37c3";
|
let
|
||||||
in {
|
cfg = config.events."37c3";
|
||||||
|
in
|
||||||
|
{
|
||||||
options.events."37c3" = {
|
options.events."37c3" = {
|
||||||
enable = lib.mkEnableOption "Enable settings for the 37c3 event";
|
enable = lib.mkEnableOption "Enable settings for the 37c3 event";
|
||||||
};
|
};
|
||||||
|
@ -29,7 +31,9 @@ in {
|
||||||
password = "37C3";
|
password = "37C3";
|
||||||
phase2-auth = "mschapv2";
|
phase2-auth = "mschapv2";
|
||||||
};
|
};
|
||||||
ipv4 = { method = "auto"; };
|
ipv4 = {
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
ipv6 = {
|
ipv6 = {
|
||||||
addr-gen-mode = "default";
|
addr-gen-mode = "default";
|
||||||
method = "auto";
|
method = "auto";
|
||||||
|
@ -43,8 +47,7 @@ in {
|
||||||
ca_cert="${
|
ca_cert="${
|
||||||
builtins.fetchurl {
|
builtins.fetchurl {
|
||||||
url = "https://letsencrypt.org/certs/isrgrootx1.pem";
|
url = "https://letsencrypt.org/certs/isrgrootx1.pem";
|
||||||
sha256 =
|
sha256 = "sha256:1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92";
|
||||||
"sha256:1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92";
|
|
||||||
}
|
}
|
||||||
}"
|
}"
|
||||||
altsubject_match="DNS:radius.c3noc.net"
|
altsubject_match="DNS:radius.c3noc.net"
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.keyboard;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.keyboard;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.keyboard = {
|
options.jopejoe1.keyboard = {
|
||||||
enable = lib.mkEnableOption "Enable Keyboard";
|
enable = lib.mkEnableOption "Enable Keyboard";
|
||||||
layout = lib.mkOption {
|
layout = lib.mkOption {
|
||||||
|
@ -23,4 +30,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,18 @@
|
||||||
{ config, lib, pkgs, self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.kodi;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.kodi;
|
||||||
options.jopejoe1.kodi = { enable = lib.mkEnableOption "Enable Kodi"; };
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.kodi = {
|
||||||
|
enable = lib.mkEnableOption "Enable Kodi";
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
environment.systemPackages = [ pkgs.kodi-wayland ];
|
environment.systemPackages = [ pkgs.kodi-wayland ];
|
||||||
|
|
|
@ -1,8 +1,17 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.local;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.local;
|
||||||
options.jopejoe1.local = { enable = lib.mkEnableOption "Enable Locals"; };
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.local = {
|
||||||
|
enable = lib.mkEnableOption "Enable Locals";
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
xdg = {
|
xdg = {
|
||||||
|
@ -35,9 +44,10 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.variables = { LOG_ICONS = "true"; };
|
environment.variables = {
|
||||||
|
LOG_ICONS = "true";
|
||||||
|
};
|
||||||
|
|
||||||
fonts.fontDir.enable = true;
|
fonts.fontDir.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.minecraft-server;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.minecraft-server;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.minecraft-server = {
|
options.jopejoe1.minecraft-server = {
|
||||||
enable = lib.mkEnableOption "Enable Bluetooth";
|
enable = lib.mkEnableOption "Enable Bluetooth";
|
||||||
};
|
};
|
||||||
|
@ -16,8 +18,7 @@ in {
|
||||||
difficulty = 3;
|
difficulty = 3;
|
||||||
enable-rcon = true;
|
enable-rcon = true;
|
||||||
"rcon.password" = "test";
|
"rcon.password" = "test";
|
||||||
motd =
|
motd = "\\u00A7cWake up to reality! Nothing ever goes as planned in this accursed world.☯";
|
||||||
"\\u00A7cWake up to reality! Nothing ever goes as planned in this accursed world.☯";
|
|
||||||
spawn-protection = 0;
|
spawn-protection = 0;
|
||||||
level-type = "minecraft:amplified";
|
level-type = "minecraft:amplified";
|
||||||
level-name = "amplified_world";
|
level-name = "amplified_world";
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.moodle-dl;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.moodle-dl;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.moodle-dl = {
|
options.jopejoe1.moodle-dl = {
|
||||||
enable = lib.mkEnableOption "Enable moodle-dl";
|
enable = lib.mkEnableOption "Enable moodle-dl";
|
||||||
};
|
};
|
||||||
|
@ -22,7 +29,12 @@ in {
|
||||||
git -C /var/lib/moodle-dl add .
|
git -C /var/lib/moodle-dl add .
|
||||||
git -C /var/lib/moodle-dl commit -m "moodle-dl updated on `$(date)`"
|
git -C /var/lib/moodle-dl commit -m "moodle-dl updated on `$(date)`"
|
||||||
'';
|
'';
|
||||||
path = with pkgs; [ openssh moodle-dl git coreutils ];
|
path = with pkgs; [
|
||||||
|
openssh
|
||||||
|
moodle-dl
|
||||||
|
git
|
||||||
|
coreutils
|
||||||
|
];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "root";
|
User = "root";
|
||||||
|
@ -30,4 +42,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,21 @@
|
||||||
{ config, lib, pkgs, self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.nix;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.nix;
|
||||||
options.jopejoe1.nix = { enable = lib.mkEnableOption "Enable Nix"; };
|
in
|
||||||
options.jopejoe1.gui = { enable = lib.mkEnableOption "Enable GUI"; };
|
{
|
||||||
|
options.jopejoe1.nix = {
|
||||||
|
enable = lib.mkEnableOption "Enable Nix";
|
||||||
|
};
|
||||||
|
options.jopejoe1.gui = {
|
||||||
|
enable = lib.mkEnableOption "Enable GUI";
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
nix = {
|
nix = {
|
||||||
|
@ -31,39 +43,44 @@ in {
|
||||||
keep-going = true;
|
keep-going = true;
|
||||||
builders-use-substitutes = true;
|
builders-use-substitutes = true;
|
||||||
};
|
};
|
||||||
# buildMachines = [
|
# buildMachines = [
|
||||||
# (rec {
|
# (rec {
|
||||||
# systems = [ self.nixosConfigurations.kuraokami.config.nixpkgs.hostPlatform.system ];
|
# systems = [ self.nixosConfigurations.kuraokami.config.nixpkgs.hostPlatform.system ];
|
||||||
# supportedFeatures = self.nixosConfigurations.kuraokami.config.nix.settings.system-features;
|
# supportedFeatures = self.nixosConfigurations.kuraokami.config.nix.settings.system-features;
|
||||||
# maxJobs = if hostName != config.networking.hostName then 24 else 0;
|
# maxJobs = if hostName != config.networking.hostName then 24 else 0;
|
||||||
# speedFactor = 20;
|
# speedFactor = 20;
|
||||||
# sshKey = "/home/jopejoe1/.ssh/github";
|
# sshKey = "/home/jopejoe1/.ssh/github";
|
||||||
# sshUser = "jopejoe1";
|
# sshUser = "jopejoe1";
|
||||||
# hostName = "kuraokami";
|
# hostName = "kuraokami";
|
||||||
# protocol = "ssh-ng";
|
# protocol = "ssh-ng";
|
||||||
# })
|
# })
|
||||||
# (rec {
|
# (rec {
|
||||||
# systems = [ self.nixosConfigurations.zap.config.nixpkgs.hostPlatform.system ];
|
# systems = [ self.nixosConfigurations.zap.config.nixpkgs.hostPlatform.system ];
|
||||||
# supportedFeatures = self.nixosConfigurations.zap.config.nix.settings.system-features;
|
# supportedFeatures = self.nixosConfigurations.zap.config.nix.settings.system-features;
|
||||||
# maxJobs = if hostName != config.networking.hostName then 4 else 0;
|
# maxJobs = if hostName != config.networking.hostName then 4 else 0;
|
||||||
# speedFactor = 10;
|
# speedFactor = 10;
|
||||||
# sshUser = "jopejoe1";
|
# sshUser = "jopejoe1";
|
||||||
# sshKey = "/home/jopejoe1/.ssh/github";
|
# sshKey = "/home/jopejoe1/.ssh/github";
|
||||||
# hostName = "zap";
|
# hostName = "zap";
|
||||||
# protocol = "ssh-ng";
|
# protocol = "ssh-ng";
|
||||||
# })
|
# })
|
||||||
# ];
|
# ];
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
package = pkgs.lix;
|
package = pkgs.lix;
|
||||||
registry = lib.mkForce ((lib.mapAttrs (_: flake: { inherit flake; })) ((lib.filterAttrs (_: lib.isType "flake")) self.inputs) // {
|
registry = lib.mkForce (
|
||||||
self.flake = self;
|
(lib.mapAttrs (_: flake: { inherit flake; })) (
|
||||||
});
|
(lib.filterAttrs (_: lib.isType "flake")) self.inputs
|
||||||
|
)
|
||||||
|
// {
|
||||||
|
self.flake = self;
|
||||||
|
}
|
||||||
|
);
|
||||||
nixPath = lib.mkForce [ "/etc/nix/path" ];
|
nixPath = lib.mkForce [ "/etc/nix/path" ];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config ={
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
nvidia.acceptLicense = true;
|
nvidia.acceptLicense = true;
|
||||||
};
|
};
|
||||||
|
@ -75,7 +92,10 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.etc = lib.mapAttrs' (name: value: { name = "nix/path/${name}"; value.source = value.flake; }) config.nix.registry;
|
environment.etc = lib.mapAttrs' (name: value: {
|
||||||
|
name = "nix/path/${name}";
|
||||||
|
value.source = value.flake;
|
||||||
|
}) config.nix.registry;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
deploy-rs
|
deploy-rs
|
||||||
|
@ -92,9 +112,7 @@ in {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
sharedModules = [
|
sharedModules = [ self.outputs.homeManagerModules.default ];
|
||||||
self.outputs.homeManagerModules.default
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.nix-daemon.serviceConfig.LimitNOFILE = lib.mkForce 1048576000;
|
systemd.services.nix-daemon.serviceConfig.LimitNOFILE = lib.mkForce 1048576000;
|
||||||
|
@ -106,4 +124,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.plasma;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.plasma;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.plasma = {
|
options.jopejoe1.plasma = {
|
||||||
enable = lib.mkEnableOption "Enable KDE Plasma";
|
enable = lib.mkEnableOption "Enable KDE Plasma";
|
||||||
};
|
};
|
||||||
|
@ -24,9 +26,10 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.kdeconnect = { enable = true; };
|
programs.kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.printing;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.printing;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.printing = {
|
options.jopejoe1.printing = {
|
||||||
enable = lib.mkEnableOption "Enable Printing";
|
enable = lib.mkEnableOption "Enable Printing";
|
||||||
};
|
};
|
||||||
|
@ -27,4 +34,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.repo-sync;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.repo-sync;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.repo-sync = {
|
options.jopejoe1.repo-sync = {
|
||||||
enable = lib.mkEnableOption "Enable Repo Sync";
|
enable = lib.mkEnableOption "Enable Repo Sync";
|
||||||
};
|
};
|
||||||
|
@ -30,7 +37,12 @@ in {
|
||||||
git -C /var/lib/repo-sync push gitlab
|
git -C /var/lib/repo-sync push gitlab
|
||||||
rm -r /var/lib/repo-sync
|
rm -r /var/lib/repo-sync
|
||||||
'';
|
'';
|
||||||
path = [ pkgs.openssh pkgs.git pkgs.coreutils pkgs.nix ];
|
path = [
|
||||||
|
pkgs.openssh
|
||||||
|
pkgs.git
|
||||||
|
pkgs.coreutils
|
||||||
|
pkgs.nix
|
||||||
|
];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "root";
|
User = "root";
|
||||||
|
@ -38,4 +50,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,18 @@
|
||||||
{ config, lib, pkgs, self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.ssh;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.ssh;
|
||||||
options.jopejoe1.ssh = { enable = lib.mkEnableOption "Enable ssh"; };
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.ssh = {
|
||||||
|
enable = lib.mkEnableOption "Enable ssh";
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
|
@ -15,4 +25,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,17 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.steam;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.steam;
|
||||||
options.jopejoe1.steam = { enable = lib.mkEnableOption "Enable Steam"; };
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.steam = {
|
||||||
|
enable = lib.mkEnableOption "Enable Steam";
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
hardware.steam-hardware.enable = true;
|
hardware.steam-hardware.enable = true;
|
||||||
|
@ -14,10 +23,7 @@ in {
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
gamescopeSession.enable = true;
|
gamescopeSession.enable = true;
|
||||||
extest.enable = true;
|
extest.enable = true;
|
||||||
extraCompatPackages = with pkgs; [
|
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||||
proton-ge-bin
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.sway;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.sway;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.sway = {
|
options.jopejoe1.sway = {
|
||||||
enable = lib.mkEnableOption "Enable Sway";
|
enable = lib.mkEnableOption "Enable Sway";
|
||||||
};
|
};
|
||||||
|
@ -12,4 +14,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./root ./jopejoe1 ];
|
imports = [
|
||||||
|
./root
|
||||||
|
./jopejoe1
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.user.jopejoe1;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.user.jopejoe1;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.user.jopejoe1 = {
|
options.jopejoe1.user.jopejoe1 = {
|
||||||
enable = lib.mkEnableOption "Enable jopejoe1 user";
|
enable = lib.mkEnableOption "Enable jopejoe1 user";
|
||||||
};
|
};
|
||||||
|
@ -12,7 +19,13 @@ in {
|
||||||
shell = pkgs.nushell;
|
shell = pkgs.nushell;
|
||||||
description = "Johannes Jöns";
|
description = "Johannes Jöns";
|
||||||
hashedPassword = "$2b$05$Uk84TY/RHlH8DIigUlFYjeorjTlCMEY9wN2pAcw5BLaPoc7dKiSsC";
|
hashedPassword = "$2b$05$Uk84TY/RHlH8DIigUlFYjeorjTlCMEY9wN2pAcw5BLaPoc7dKiSsC";
|
||||||
extraGroups = [ "wheel" "networkmanager" "pipewire" "audio" "adbusers" ];
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"networkmanager"
|
||||||
|
"pipewire"
|
||||||
|
"audio"
|
||||||
|
"adbusers"
|
||||||
|
];
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB8oyMpS2hK3gQXyHIIVS6oilgMpemLmfhKKJ6RBMwUh johannes@joens.email"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB8oyMpS2hK3gQXyHIIVS6oilgMpemLmfhKKJ6RBMwUh johannes@joens.email"
|
||||||
|
@ -21,8 +34,9 @@ in {
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFZDUoC+1lNR2JTY1Q+vhXpuLmKMdVl2OMFLVbQ3cGkw jopejoe1@kuraokami"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFZDUoC+1lNR2JTY1Q+vhXpuLmKMdVl2OMFLVbQ3cGkw jopejoe1@kuraokami"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKm2igbJ+Ke+dJO3r7wp5ZTreHqC39Sjctca119Bl2yc jopejoe1@zap"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKm2igbJ+Ke+dJO3r7wp5ZTreHqC39Sjctca119Bl2yc jopejoe1@zap"
|
||||||
];
|
];
|
||||||
packages = with pkgs;
|
packages =
|
||||||
[]
|
with pkgs;
|
||||||
|
[ ]
|
||||||
++ lib.optionals config.jopejoe1.gui.enable [
|
++ lib.optionals config.jopejoe1.gui.enable [
|
||||||
libsForQt5.kate
|
libsForQt5.kate
|
||||||
libsForQt5.ark
|
libsForQt5.ark
|
||||||
|
@ -35,10 +49,13 @@ in {
|
||||||
catppuccin-kde
|
catppuccin-kde
|
||||||
#catppuccin-gtk
|
#catppuccin-gtk
|
||||||
tela-icon-theme
|
tela-icon-theme
|
||||||
((discord.overrideAttrs (old: {
|
(
|
||||||
desktopItem = old.desktopItem.override
|
(discord.overrideAttrs (old: {
|
||||||
(old: { exec = old.exec + " --disable-gpu-sandbox"; });
|
desktopItem = old.desktopItem.override (old: {
|
||||||
})).override {
|
exec = old.exec + " --disable-gpu-sandbox";
|
||||||
|
});
|
||||||
|
})).override
|
||||||
|
{
|
||||||
withOpenASAR = true;
|
withOpenASAR = true;
|
||||||
withVencord = true;
|
withVencord = true;
|
||||||
withTTS = true;
|
withTTS = true;
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.user.root;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.user.root;
|
||||||
options.jopejoe1.user.root = { enable = lib.mkEnableOption "Enable root user"; };
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.user.root = {
|
||||||
|
enable = lib.mkEnableOption "Enable root user";
|
||||||
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
users.users.root = {
|
users.users.root = {
|
||||||
|
@ -34,4 +38,3 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,24 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let cfg = config.jopejoe1.zerotierone;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.zerotierone;
|
||||||
|
in
|
||||||
|
{
|
||||||
options.jopejoe1.zerotierone = {
|
options.jopejoe1.zerotierone = {
|
||||||
enable = lib.mkEnableOption "Enable zerotierone";
|
enable = lib.mkEnableOption "Enable zerotierone";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.zerotierone.enable = true;
|
services.zerotierone.enable = true;
|
||||||
services.zerotierone.joinNetworks = [ "9e1948db638e9f93" ] ++ lib.optional (config.networking.hostName == "kuraokami") "7c31a21e86f9a75c";
|
services.zerotierone.joinNetworks = [
|
||||||
|
"9e1948db638e9f93"
|
||||||
|
] ++ lib.optional (config.networking.hostName == "kuraokami") "7c31a21e86f9a75c";
|
||||||
services.zerotierone.port = 9993;
|
services.zerotierone.port = 9993;
|
||||||
environment.systemPackages = with pkgs; lib.optional config.jopejoe1.gui.enable moonlight-qt;
|
environment.systemPackages = with pkgs; lib.optional config.jopejoe1.gui.enable moonlight-qt;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,22 @@
|
||||||
{ inputs, pkgs, system }:
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
system,
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
tela-icon-theme-git = pkgs.tela-icon-theme.overrideAttrs {
|
tela-icon-theme-git = pkgs.tela-icon-theme.overrideAttrs { src = inputs.tela-icon-theme; };
|
||||||
src = inputs.tela-icon-theme;
|
|
||||||
};
|
|
||||||
|
|
||||||
libadwaita-follow-theme = pkgs.libadwaita.overrideAttrs (old: {
|
libadwaita-follow-theme = pkgs.libadwaita.overrideAttrs (old: {
|
||||||
patches = (old.patches or [ ]) ++ [ ./adwaita-theming-support.patch ];
|
patches = (old.patches or [ ]) ++ [ ./adwaita-theming-support.patch ];
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
prismlauncher-withExtraStuff = inputs.prismlauncher.packages.${system}.prismlauncher.overrideAttrs (old: {
|
prismlauncher-withExtraStuff =
|
||||||
patches = (old.patches or [ ]) ++ [
|
inputs.prismlauncher.packages.${system}.prismlauncher.overrideAttrs
|
||||||
./prism-ftb.patch
|
(old: {
|
||||||
];
|
patches = (old.patches or [ ]) ++ [ ./prism-ftb.patch ];
|
||||||
});
|
});
|
||||||
|
|
||||||
nixos-anywhere = inputs.nixos-anywhere.packages.${system}.nixos-anywhere;
|
nixos-anywhere = inputs.nixos-anywhere.packages.${system}.nixos-anywhere;
|
||||||
|
|
||||||
|
@ -26,9 +28,7 @@
|
||||||
url = "https://mangabooth.com/";
|
url = "https://mangabooth.com/";
|
||||||
hash = "sha256-JxfjZLoN6I9twAQMT60Q27CgJg22G7zEU5GDra9rROs=";
|
hash = "sha256-JxfjZLoN6I9twAQMT60Q27CgJg22G7zEU5GDra9rROs=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ pkgs.unzip ];
|
||||||
pkgs.unzip
|
|
||||||
];
|
|
||||||
installPhase = "mkdir -p $out; cp -R * $out/";
|
installPhase = "mkdir -p $out; cp -R * $out/";
|
||||||
};
|
};
|
||||||
madara-child = pkgs.stdenv.mkDerivation rec {
|
madara-child = pkgs.stdenv.mkDerivation rec {
|
||||||
|
@ -39,9 +39,7 @@
|
||||||
url = "https://mangabooth.com/";
|
url = "https://mangabooth.com/";
|
||||||
hash = "sha256-h9w2TmX1nXaoP27b9DQ1jf6z1hTS5+BWtlz+Fprk5dQ=";
|
hash = "sha256-h9w2TmX1nXaoP27b9DQ1jf6z1hTS5+BWtlz+Fprk5dQ=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ pkgs.unzip ];
|
||||||
pkgs.unzip
|
|
||||||
];
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
unzip $src "madara-child/*" -d $out
|
unzip $src "madara-child/*" -d $out
|
||||||
|
@ -56,9 +54,7 @@
|
||||||
url = "https://mangabooth.com/";
|
url = "https://mangabooth.com/";
|
||||||
hash = "sha256-r22hGCDlVeYTOFlhfKoc3r4TtpZExJ2E2QP9ssRoJco=";
|
hash = "sha256-r22hGCDlVeYTOFlhfKoc3r4TtpZExJ2E2QP9ssRoJco=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ pkgs.unzip ];
|
||||||
pkgs.unzip
|
|
||||||
];
|
|
||||||
installPhase = "mkdir -p $out; cp -R * $out/";
|
installPhase = "mkdir -p $out; cp -R * $out/";
|
||||||
};
|
};
|
||||||
madara-shortcodes = pkgs.stdenv.mkDerivation rec {
|
madara-shortcodes = pkgs.stdenv.mkDerivation rec {
|
||||||
|
@ -69,9 +65,7 @@
|
||||||
url = "https://mangabooth.com/";
|
url = "https://mangabooth.com/";
|
||||||
hash = "sha256-IW7C5DTzvt3ROFpfB21LY2wmdR45lNj9c8/THHCi6eY=";
|
hash = "sha256-IW7C5DTzvt3ROFpfB21LY2wmdR45lNj9c8/THHCi6eY=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ pkgs.unzip ];
|
||||||
pkgs.unzip
|
|
||||||
];
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
unzip $src "madara-shortcodes/*" -d $out
|
unzip $src "madara-shortcodes/*" -d $out
|
||||||
|
@ -86,9 +80,7 @@
|
||||||
url = "https://mangabooth.com/";
|
url = "https://mangabooth.com/";
|
||||||
hash = "sha256-9u+MGdOarNdLtARWiJpw/hsMR9X8r0h5qugGir+amUI=";
|
hash = "sha256-9u+MGdOarNdLtARWiJpw/hsMR9X8r0h5qugGir+amUI=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ pkgs.unzip ];
|
||||||
pkgs.unzip
|
|
||||||
];
|
|
||||||
installPhase = "mkdir -p $out; cp -R * $out/";
|
installPhase = "mkdir -p $out; cp -R * $out/";
|
||||||
};
|
};
|
||||||
option-tree = pkgs.stdenv.mkDerivation rec {
|
option-tree = pkgs.stdenv.mkDerivation rec {
|
||||||
|
@ -98,9 +90,7 @@
|
||||||
url = "https://downloads.wordpress.org/plugin/option-tree.zip";
|
url = "https://downloads.wordpress.org/plugin/option-tree.zip";
|
||||||
hash = "sha256-+dPt8qJ4rkmSKrIXX5IiWO4zkFkR+Uapjlbx1g7KzKs=";
|
hash = "sha256-+dPt8qJ4rkmSKrIXX5IiWO4zkFkR+Uapjlbx1g7KzKs=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ pkgs.unzip ];
|
||||||
pkgs.unzip
|
|
||||||
];
|
|
||||||
installPhase = "mkdir -p $out; cp -R * $out/";
|
installPhase = "mkdir -p $out; cp -R * $out/";
|
||||||
};
|
};
|
||||||
widget-logic = pkgs.stdenv.mkDerivation rec {
|
widget-logic = pkgs.stdenv.mkDerivation rec {
|
||||||
|
@ -110,11 +100,9 @@
|
||||||
url = "https://downloads.wordpress.org/plugin/widget-logic.zip";
|
url = "https://downloads.wordpress.org/plugin/widget-logic.zip";
|
||||||
hash = "sha256-J2NOth3q+IaPVhFT97arsNfjUPyTZF4Vvin1Cb+xnKw=";
|
hash = "sha256-J2NOth3q+IaPVhFT97arsNfjUPyTZF4Vvin1Cb+xnKw=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ pkgs.unzip ];
|
||||||
pkgs.unzip
|
|
||||||
];
|
|
||||||
installPhase = "mkdir -p $out; cp -R * $out/";
|
installPhase = "mkdir -p $out; cp -R * $out/";
|
||||||
};
|
};
|
||||||
kde-hdr-fix = pkgs.callPackage ./kde-hdr.nix {};
|
kde-hdr-fix = pkgs.callPackage ./kde-hdr.nix { };
|
||||||
kde-wallpaper = pkgs.callPackage ./kde-wallpaper.nix {};
|
kde-wallpaper = pkgs.callPackage ./kde-wallpaper.nix { };
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
meson,
|
meson,
|
||||||
# ninja,
|
# ninja,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
vulkan-headers,
|
vulkan-headers,
|
||||||
libX11,
|
libX11,
|
||||||
|
@ -22,10 +22,13 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
meson
|
meson
|
||||||
# ninja
|
# ninja
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [ vulkan-headers libX11 ];
|
buildInputs = [
|
||||||
|
vulkan-headers
|
||||||
|
libX11
|
||||||
|
];
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,7 @@ stdenv.mkDerivation {
|
||||||
kdePackages.wrapQtAppsHook
|
kdePackages.wrapQtAppsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [ kdePackages.qtbase ];
|
||||||
kdePackages.qtbase
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DECM_DIR=${kdePackages.extra-cmake-modules}/share/ECM/cmake"
|
"-DECM_DIR=${kdePackages.extra-cmake-modules}/share/ECM/cmake"
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ pkgs, config, nixos-hardware, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
nixos-hardware,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -10,7 +15,9 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
jopejoe1 = {
|
jopejoe1 = {
|
||||||
audio = { enable = true; };
|
audio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
local.enable = true;
|
local.enable = true;
|
||||||
nix.enable = true;
|
nix.enable = true;
|
||||||
|
@ -60,9 +67,7 @@
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
systemTrayEnabled = true;
|
systemTrayEnabled = true;
|
||||||
extensionRepos = [
|
extensionRepos = [ "https://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json" ];
|
||||||
"https://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json"
|
|
||||||
];
|
|
||||||
webUIEnabled = true;
|
webUIEnabled = true;
|
||||||
initialOpenInBrowserEnabled = true;
|
initialOpenInBrowserEnabled = true;
|
||||||
webUIInterface = "browser";
|
webUIInterface = "browser";
|
||||||
|
@ -103,6 +108,10 @@
|
||||||
networking.hosts = {
|
networking.hosts = {
|
||||||
"192.168.88.251" = [ "wiki.it3" ];
|
"192.168.88.251" = [ "wiki.it3" ];
|
||||||
"192.168.88.252" = [ "pi400" ];
|
"192.168.88.252" = [ "pi400" ];
|
||||||
"127.0.0.1" = [ "local" "rss.local" "manga.local" ];
|
"127.0.0.1" = [
|
||||||
|
"local"
|
||||||
|
"rss.local"
|
||||||
|
"manga.local"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
@ -22,11 +27,9 @@
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [ { device = "/dev/disk/by-uuid/8569ee66-b939-4ce8-a94a-dca7df5e301b"; } ];
|
||||||
[{ device = "/dev/disk/by-uuid/8569ee66-b939-4ce8-a94a-dca7df5e301b"; }];
|
|
||||||
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
hardware.cpu.intel.updateMicrocode =
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,38 @@
|
||||||
{ self, nixpkgs, inputs }:
|
{
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
inputs,
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
mkSystem = systemConfig: name: nixpkgs.lib.nixosSystem rec {
|
mkSystem =
|
||||||
system = builtins.replaceStrings [ "-unknown-" "-gnu" ] [ "-" "" ] systemConfig;
|
systemConfig: name:
|
||||||
specialArgs = inputs;
|
nixpkgs.lib.nixosSystem rec {
|
||||||
modules = [
|
system =
|
||||||
./${name}
|
builtins.replaceStrings
|
||||||
self.outputs.nixosModules.default
|
[
|
||||||
{
|
"-unknown-"
|
||||||
system.stateVersion = "24.05";
|
"-gnu"
|
||||||
nixpkgs.hostPlatform = {
|
]
|
||||||
system = system;
|
[
|
||||||
config = systemConfig;
|
"-"
|
||||||
};
|
""
|
||||||
networking.hostName = name;
|
]
|
||||||
}
|
systemConfig;
|
||||||
];
|
specialArgs = inputs;
|
||||||
};
|
modules = [
|
||||||
|
./${name}
|
||||||
|
self.outputs.nixosModules.default
|
||||||
|
{
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
nixpkgs.hostPlatform = {
|
||||||
|
system = system;
|
||||||
|
config = systemConfig;
|
||||||
|
};
|
||||||
|
networking.hostName = name;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
kuraokami = mkSystem "x86_64-unknown-linux-gnu" "kuraokami";
|
kuraokami = mkSystem "x86_64-unknown-linux-gnu" "kuraokami";
|
||||||
|
|
|
@ -3,7 +3,9 @@
|
||||||
{
|
{
|
||||||
|
|
||||||
jopejoe1 = {
|
jopejoe1 = {
|
||||||
audio = { enable = true; };
|
audio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
local.enable = true;
|
local.enable = true;
|
||||||
nix.enable = true;
|
nix.enable = true;
|
||||||
|
@ -14,7 +16,6 @@
|
||||||
boot.systemd.enable = true;
|
boot.systemd.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ moonlight-qt ];
|
environment.systemPackages = with pkgs; [ moonlight-qt ];
|
||||||
|
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
@ -22,11 +27,9 @@
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [ { device = "/dev/disk/by-uuid/8569ee66-b939-4ce8-a94a-dca7df5e301b"; } ];
|
||||||
[{ device = "/dev/disk/by-uuid/8569ee66-b939-4ce8-a94a-dca7df5e301b"; }];
|
|
||||||
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
hardware.cpu.intel.updateMicrocode =
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,14 +28,20 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.dns-rfc2136-conf = {
|
systemd.services.dns-rfc2136-conf = {
|
||||||
requiredBy = [ "acme-net0loggy.net.service" "bind.service" ];
|
requiredBy = [
|
||||||
before = [ "acme-net0loggy.net.service" "bind.service" ];
|
"acme-net0loggy.net.service"
|
||||||
|
"bind.service"
|
||||||
|
];
|
||||||
|
before = [
|
||||||
|
"acme-net0loggy.net.service"
|
||||||
|
"bind.service"
|
||||||
|
];
|
||||||
unitConfig = {
|
unitConfig = {
|
||||||
ConditionPathExists = "!/var/lib/secrets/dnskeys.conf";
|
ConditionPathExists = "!/var/lib/secrets/dnskeys.conf";
|
||||||
};
|
};
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
UMask = 0077;
|
UMask = 77;
|
||||||
};
|
};
|
||||||
path = [ pkgs.bind ];
|
path = [ pkgs.bind ];
|
||||||
script = ''
|
script = ''
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ config, pkgs, lib, self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -24,7 +30,10 @@
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "nvme" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
|
@ -1,17 +1,54 @@
|
||||||
{ config, pkgs, lib, ...}:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
mailserver = {
|
mailserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
fqdn = "mail.missing.ninja";
|
fqdn = "mail.missing.ninja";
|
||||||
domains = [ "missing.ninja" "joens.zone" "joens.website" "joens.site" "joens.online" "joens.link" "joens.international" "joens.family" "joens.digital" "joens.blog" "net0loggy.net" "clan-war.net" "net0loggy.de" "dtg-c.de" "joens.email" ];
|
domains = [
|
||||||
|
"missing.ninja"
|
||||||
|
"joens.zone"
|
||||||
|
"joens.website"
|
||||||
|
"joens.site"
|
||||||
|
"joens.online"
|
||||||
|
"joens.link"
|
||||||
|
"joens.international"
|
||||||
|
"joens.family"
|
||||||
|
"joens.digital"
|
||||||
|
"joens.blog"
|
||||||
|
"net0loggy.net"
|
||||||
|
"clan-war.net"
|
||||||
|
"net0loggy.de"
|
||||||
|
"dtg-c.de"
|
||||||
|
"joens.email"
|
||||||
|
];
|
||||||
|
|
||||||
# A list of all login accounts. To create the password hashes, use
|
# A list of all login accounts. To create the password hashes, use
|
||||||
# nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
|
# nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
|
||||||
loginAccounts = {
|
loginAccounts = {
|
||||||
"jopejoe1@missing.ninja" = {
|
"jopejoe1@missing.ninja" = {
|
||||||
hashedPassword = "$2b$05$ZZk/X.gQqjRc08ej9XTuaO0aVnWjPGWUqo/xYGxHGsMEyDL.Hr8AS";
|
hashedPassword = "$2b$05$ZZk/X.gQqjRc08ej9XTuaO0aVnWjPGWUqo/xYGxHGsMEyDL.Hr8AS";
|
||||||
aliases = [ "@missing.ninja" "@joens.zone" "@joens.website" "@joens.site" "@joens.online" "@joens.link" "@joens.international" "@joens.family" "@joens.digital" "@joens.blog" "@net0loggy.net" "@clan-war.net" "@net0loggy.de" "@dtg-c.de" "@joens.email" ];
|
aliases = [
|
||||||
|
"@missing.ninja"
|
||||||
|
"@joens.zone"
|
||||||
|
"@joens.website"
|
||||||
|
"@joens.site"
|
||||||
|
"@joens.online"
|
||||||
|
"@joens.link"
|
||||||
|
"@joens.international"
|
||||||
|
"@joens.family"
|
||||||
|
"@joens.digital"
|
||||||
|
"@joens.blog"
|
||||||
|
"@net0loggy.net"
|
||||||
|
"@clan-war.net"
|
||||||
|
"@net0loggy.de"
|
||||||
|
"@dtg-c.de"
|
||||||
|
"@joens.email"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -30,18 +67,21 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
services.roundcube = {
|
services.roundcube = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# this is the url of the vhost, not necessarily the same as the fqdn of
|
# this is the url of the vhost, not necessarily the same as the fqdn of
|
||||||
# the mailserver
|
# the mailserver
|
||||||
hostName = "webmail.missing.ninja";
|
hostName = "webmail.missing.ninja";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
# starttls needed for authentication, so the fqdn required to match
|
# starttls needed for authentication, so the fqdn required to match
|
||||||
# the certificate
|
# the certificate
|
||||||
$config['smtp_server'] = "tls://${config.mailserver.fqdn}";
|
$config['smtp_server'] = "tls://${config.mailserver.fqdn}";
|
||||||
$config['smtp_user'] = "%u";
|
$config['smtp_user'] = "%u";
|
||||||
$config['smtp_pass'] = "%p";
|
$config['smtp_pass'] = "%p";
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
80
|
||||||
|
443
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ...}:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
fqdn = "matrix.missing.ninja";
|
fqdn = "matrix.missing.ninja";
|
||||||
|
@ -54,9 +54,7 @@ in
|
||||||
server_name = "missing.ninja";
|
server_name = "missing.ninja";
|
||||||
registration_shared_secret = "";
|
registration_shared_secret = "";
|
||||||
public_baseurl = baseUrl;
|
public_baseurl = baseUrl;
|
||||||
app_service_config_files = [
|
app_service_config_files = [ "/var/lib/matrix-synapse/whatsapp-registration.yaml" ];
|
||||||
"/var/lib/matrix-synapse/whatsapp-registration.yaml"
|
|
||||||
];
|
|
||||||
listeners = [
|
listeners = [
|
||||||
{
|
{
|
||||||
port = 8448;
|
port = 8448;
|
||||||
|
@ -66,7 +64,10 @@ in
|
||||||
x_forwarded = true;
|
x_forwarded = true;
|
||||||
resources = [
|
resources = [
|
||||||
{
|
{
|
||||||
names = [ "client" "federation" ];
|
names = [
|
||||||
|
"client"
|
||||||
|
"federation"
|
||||||
|
];
|
||||||
compress = true;
|
compress = true;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{config, pkgs, self, ...}:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
|
@ -9,7 +14,21 @@
|
||||||
recommendedProxySettings = true;
|
recommendedProxySettings = true;
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
"missing.ninja" = {
|
"missing.ninja" = {
|
||||||
serverAliases = [ "joens.zone" "joens.website" "joens.site" "joens.online" "joens.link" "joens.international" "joens.family" "joens.digital" "joens.blog" "net0loggy.net" "clan-war.net" "net0loggy.de" "dtg-c.de" ];
|
serverAliases = [
|
||||||
|
"joens.zone"
|
||||||
|
"joens.website"
|
||||||
|
"joens.site"
|
||||||
|
"joens.online"
|
||||||
|
"joens.link"
|
||||||
|
"joens.international"
|
||||||
|
"joens.family"
|
||||||
|
"joens.digital"
|
||||||
|
"joens.blog"
|
||||||
|
"net0loggy.net"
|
||||||
|
"clan-war.net"
|
||||||
|
"net0loggy.de"
|
||||||
|
"dtg-c.de"
|
||||||
|
];
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
};
|
};
|
||||||
|
@ -23,9 +42,7 @@
|
||||||
locations."/socket.io/" = {
|
locations."/socket.io/" = {
|
||||||
proxyPass = "http://localhost:3333";
|
proxyPass = "http://localhost:3333";
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
extraConfig =
|
extraConfig = "proxy_ssl_server_name on;";
|
||||||
"proxy_ssl_server_name on;"
|
|
||||||
;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"test.missing.ninja" = {
|
"test.missing.ninja" = {
|
||||||
|
@ -57,24 +74,25 @@
|
||||||
max_input_time = 300
|
max_input_time = 300
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.wordpress.sites."test.missing.ninja" = with self.packages.${config.nixpkgs.hostPlatform.system}; {
|
services.wordpress.sites."test.missing.ninja" =
|
||||||
themes = [
|
with self.packages.${config.nixpkgs.hostPlatform.system}; {
|
||||||
madara
|
themes = [
|
||||||
madara-child
|
madara
|
||||||
pkgs.wordpressPackages.themes.twentytwentythree
|
madara-child
|
||||||
];
|
pkgs.wordpressPackages.themes.twentytwentythree
|
||||||
plugins = [
|
];
|
||||||
madara-core
|
plugins = [
|
||||||
madara-shortcodes
|
madara-core
|
||||||
option-tree
|
madara-shortcodes
|
||||||
option-tree-lean
|
option-tree
|
||||||
widget-logic
|
option-tree-lean
|
||||||
];
|
widget-logic
|
||||||
settings = {
|
];
|
||||||
FORCE_SSL_ADMIN = true;
|
settings = {
|
||||||
|
FORCE_SSL_ADMIN = true;
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
$_SERVER['HTTPS']='on';
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
|
||||||
$_SERVER['HTTPS']='on';
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,22 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
mailAccounts = config.mailserver.loginAccounts;
|
mailAccounts = config.mailserver.loginAccounts;
|
||||||
htpasswd = pkgs.writeText "radicale.users" (concatStrings
|
htpasswd = pkgs.writeText "radicale.users" (
|
||||||
(flip mapAttrsToList mailAccounts (mail: user:
|
concatStrings (
|
||||||
mail + ":" + user.hashedPassword + "\n"
|
flip mapAttrsToList mailAccounts (mail: user: mail + ":" + user.hashedPassword + "\n")
|
||||||
))
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
services.radicale = {
|
services.radicale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
jopejoe1 = {
|
jopejoe1 = {
|
||||||
|
@ -10,11 +15,10 @@
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
services.openssh.settings.PermitRootLogin = lib.mkForce "yes";
|
services.openssh.settings.PermitRootLogin = lib.mkForce "yes";
|
||||||
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
efi = {
|
efi = {
|
||||||
canTouchEfiVariables = false;
|
canTouchEfiVariables = false;
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
{ config, pkgs, lib, nixos-hardware, self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
nixos-hardware,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -105,25 +112,25 @@
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
localPkgs.prismlauncher-withExtraStuff
|
localPkgs.prismlauncher-withExtraStuff
|
||||||
mixxx
|
mixxx
|
||||||
(picard.overrideAttrs{
|
(picard.overrideAttrs { dontUseSetuptoolsCheck = true; })
|
||||||
dontUseSetuptoolsCheck = true;
|
|
||||||
})
|
|
||||||
goverlay
|
goverlay
|
||||||
(strawberry-qt6.overrideAttrs (finalAttrs: previousAttrs: {
|
(strawberry-qt6.overrideAttrs (
|
||||||
version = "1.1.0-rc3";
|
finalAttrs: previousAttrs: {
|
||||||
src = fetchFromGitHub {
|
version = "1.1.0-rc3";
|
||||||
owner = "strawberrymusicplayer";
|
src = fetchFromGitHub {
|
||||||
repo = "strawberry";
|
owner = "strawberrymusicplayer";
|
||||||
rev = "1.1.0-rc3";
|
repo = "strawberry";
|
||||||
hash = "sha256-4LhFxCi0ixMAjVaNVrQrLc0Vf1Z2dhnw6DTfTqtpiC4=";
|
rev = "1.1.0-rc3";
|
||||||
};
|
hash = "sha256-4LhFxCi0ixMAjVaNVrQrLc0Vf1Z2dhnw6DTfTqtpiC4=";
|
||||||
buildInputs = previousAttrs.buildInputs ++ [
|
};
|
||||||
kdsingleapplication
|
buildInputs = previousAttrs.buildInputs ++ [
|
||||||
gst_all_1.gst-plugins-rs
|
kdsingleapplication
|
||||||
kdePackages.qtsvg
|
gst_all_1.gst-plugins-rs
|
||||||
kdePackages.qtimageformats
|
kdePackages.qtsvg
|
||||||
];
|
kdePackages.qtimageformats
|
||||||
}))
|
];
|
||||||
|
}
|
||||||
|
))
|
||||||
libreoffice-qt
|
libreoffice-qt
|
||||||
jitsi-meet-electron
|
jitsi-meet-electron
|
||||||
thunderbird
|
thunderbird
|
||||||
|
@ -139,9 +146,7 @@
|
||||||
gamemode.enable = true;
|
gamemode.enable = true;
|
||||||
appimage = {
|
appimage = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.appimage-run.override {
|
package = pkgs.appimage-run.override { extraPkgs = pkgs: [ pkgs.brotli ]; };
|
||||||
extraPkgs = pkgs: [ pkgs.brotli ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -150,13 +155,28 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings.system-features = [ "gccarch-alderlake" "benchmark" "big-parallel" "kvm" "nixos-test" ]
|
nix.settings.system-features = [
|
||||||
++ map (x: "gccarch-${x}") (lib.systems.architectures.inferiors.alderlake or [ ]);
|
"gccarch-alderlake"
|
||||||
|
"benchmark"
|
||||||
|
"big-parallel"
|
||||||
|
"kvm"
|
||||||
|
"nixos-test"
|
||||||
|
] ++ map (x: "gccarch-${x}") (lib.systems.architectures.inferiors.alderlake or [ ]);
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = [ "riscv64-linux" "aarch64-linux" ];
|
boot.binfmt.emulatedSystems = [
|
||||||
|
"riscv64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
|
|
||||||
programs.nix-ld = {
|
programs.nix-ld = {
|
||||||
enable = true;
|
enable = true;
|
||||||
libraries = with pkgs; [ libz xz xorg.libX11 freetype zstd dbus ];
|
libraries = with pkgs; [
|
||||||
|
libz
|
||||||
|
xz
|
||||||
|
xorg.libX11
|
||||||
|
freetype
|
||||||
|
zstd
|
||||||
|
dbus
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# 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, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
@ -20,9 +25,20 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"vmd"
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" "nouveau" ];
|
boot.kernelModules = [
|
||||||
|
"kvm-intel"
|
||||||
|
"nouveau"
|
||||||
|
];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
|
@ -38,7 +54,10 @@
|
||||||
"/media/gaming" = {
|
"/media/gaming" = {
|
||||||
device = "/dev/disk/by-uuid/4038F97238F966F6";
|
device = "/dev/disk/by-uuid/4038F97238F966F6";
|
||||||
fsType = "ntfs";
|
fsType = "ntfs";
|
||||||
options = [ "rw" "uid=1000" ];
|
options = [
|
||||||
|
"rw"
|
||||||
|
"uid=1000"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
{ config, pkgs, lib, nixos-hardware, self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
nixos-hardware,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -73,9 +80,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings.system-features = [ "benchmark" "big-parallel" "kvm" "nixos-test" ];
|
nix.settings.system-features = [
|
||||||
|
"benchmark"
|
||||||
|
"big-parallel"
|
||||||
|
"kvm"
|
||||||
|
"nixos-test"
|
||||||
|
];
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = [ "riscv64-linux" "aarch64-linux" ];
|
boot.binfmt.emulatedSystems = [
|
||||||
|
"riscv64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
boot.plymouth = {
|
boot.plymouth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,34 +1,49 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# 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, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"thunderbolt"
|
||||||
|
"usbhid"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/6842a9de-c5fd-4648-b3b8-f76e56633825";
|
device = "/dev/disk/by-uuid/6842a9de-c5fd-4648-b3b8-f76e56633825";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-eaed8652-a306-4434-a187-71e6fcb13e71".device = "/dev/disk/by-uuid/eaed8652-a306-4434-a187-71e6fcb13e71";
|
boot.initrd.luks.devices."luks-eaed8652-a306-4434-a187-71e6fcb13e71".device = "/dev/disk/by-uuid/eaed8652-a306-4434-a187-71e6fcb13e71";
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/7C5A-EE45";
|
device = "/dev/disk/by-uuid/7C5A-EE45";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = [
|
||||||
};
|
"fmask=0022"
|
||||||
|
"dmask=0022"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/home/jopejoe1/Public/games" =
|
fileSystems."/home/jopejoe1/Public/games" = {
|
||||||
{ device = "/dev/sda";
|
device = "/dev/sda";
|
||||||
fsType = "bcachefs";
|
fsType = "bcachefs";
|
||||||
options = [ "compression=zstd" ];
|
options = [ "compression=zstd" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ modulesPath, lib, nixos-hardware, ... }:
|
{
|
||||||
|
modulesPath,
|
||||||
|
lib,
|
||||||
|
nixos-hardware,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -7,8 +12,12 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = { availableKernelModules = [ "xhci_pci" ]; };
|
initrd = {
|
||||||
loader = { generic-extlinux-compatible.enable = true; };
|
availableKernelModules = [ "xhci_pci" ];
|
||||||
|
};
|
||||||
|
loader = {
|
||||||
|
generic-extlinux-compatible.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.raspberry-pi."4".fkms-3d.enable = true;
|
hardware.raspberry-pi."4".fkms-3d.enable = true;
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ modulesPath, lib, nixos-hardware, pkgs, ... }:
|
{
|
||||||
|
modulesPath,
|
||||||
|
lib,
|
||||||
|
nixos-hardware,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -7,11 +13,23 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = { availableKernelModules = [ "xhci_pci" ]; };
|
initrd = {
|
||||||
|
availableKernelModules = [ "xhci_pci" ];
|
||||||
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.supportedFilesystems = lib.mkForce [ "btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs" "bchachefs" ];
|
boot.supportedFilesystems = lib.mkForce [
|
||||||
|
"btrfs"
|
||||||
|
"cifs"
|
||||||
|
"f2fs"
|
||||||
|
"jfs"
|
||||||
|
"ntfs"
|
||||||
|
"reiserfs"
|
||||||
|
"vfat"
|
||||||
|
"xfs"
|
||||||
|
"bchachefs"
|
||||||
|
];
|
||||||
|
|
||||||
#hardware.raspberry-pi."4".fkms-3d.enable = true;
|
#hardware.raspberry-pi."4".fkms-3d.enable = true;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ modulesPath, lib, nixos-hardware, ... }:
|
{
|
||||||
|
modulesPath,
|
||||||
|
lib,
|
||||||
|
nixos-hardware,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -7,8 +12,12 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = { availableKernelModules = [ "xhci_pci" ]; };
|
initrd = {
|
||||||
loader = { generic-extlinux-compatible.enable = true; };
|
availableKernelModules = [ "xhci_pci" ];
|
||||||
|
};
|
||||||
|
loader = {
|
||||||
|
generic-extlinux-compatible.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, pkgs, nixos-hardware, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
nixos-hardware,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -43,14 +48,18 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
keyMap = "us";
|
keyMap = "us";
|
||||||
};
|
};
|
||||||
services.xserver = { layout = "us"; };
|
services.xserver = {
|
||||||
|
layout = "us";
|
||||||
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
supportedFilesystems = [ "ntfs" "btrfs" ];
|
supportedFilesystems = [
|
||||||
|
"ntfs"
|
||||||
|
"btrfs"
|
||||||
|
];
|
||||||
loader = {
|
loader = {
|
||||||
grub.enable = false;
|
grub.enable = false;
|
||||||
generic-extlinux-compatible.enable = true;
|
generic-extlinux-compatible.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,10 +19,12 @@
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [{
|
swapDevices = [
|
||||||
device = "/var/lib/swapfile";
|
{
|
||||||
size = (4 * 1024) + (2 * 1024);
|
device = "/var/lib/swapfile";
|
||||||
}];
|
size = (4 * 1024) + (2 * 1024);
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
networking.wireless.enable = true;
|
networking.wireless.enable = true;
|
||||||
|
|
||||||
|
@ -37,4 +39,3 @@
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
{ config, pkgs, lib, modulesPath, self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
self,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
jopejoe1 = {
|
jopejoe1 = {
|
||||||
|
@ -13,16 +20,22 @@
|
||||||
gui.enable = false;
|
gui.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
imports =
|
imports = [
|
||||||
[
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
self.inputs.srvos.nixosModules.server
|
||||||
self.inputs.srvos.nixosModules.server
|
self.inputs.srvos.nixosModules.mixins-cloud-init
|
||||||
self.inputs.srvos.nixosModules.mixins-cloud-init
|
self.inputs.srvos.nixosModules.mixins-nginx
|
||||||
self.inputs.srvos.nixosModules.mixins-nginx
|
./wp-test.nix
|
||||||
./wp-test.nix
|
];
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ata_piix"
|
||||||
|
"uhci_hcd"
|
||||||
|
"virtio_pci"
|
||||||
|
"virtio_scsi"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
];
|
||||||
|
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = false;
|
||||||
|
|
||||||
|
@ -44,10 +57,10 @@
|
||||||
#"db.missing.ninja" = {
|
#"db.missing.ninja" = {
|
||||||
# enableACME = true;
|
# enableACME = true;
|
||||||
# forceSSL = true;
|
# forceSSL = true;
|
||||||
# locations."/" = {
|
# locations."/" = {
|
||||||
# proxyPass = "http://134.255.219.135:8000/";
|
# proxyPass = "http://134.255.219.135:8000/";
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx.enable = true;
|
services.nginx.enable = true;
|
||||||
|
@ -70,8 +83,16 @@
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [ 80 443 8000 ];
|
allowedTCPPorts = [
|
||||||
allowedUDPPorts = [ 80 443 8000 ];
|
80
|
||||||
|
443
|
||||||
|
8000
|
||||||
|
];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
80
|
||||||
|
443
|
||||||
|
8000
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.fp = {
|
users.users.fp = {
|
||||||
|
@ -88,7 +109,10 @@
|
||||||
|
|
||||||
services.openssh.settings.PermitRootLogin = lib.mkForce "yes";
|
services.openssh.settings.PermitRootLogin = lib.mkForce "yes";
|
||||||
|
|
||||||
services.openssh.ports = [ 8081 22 ];
|
services.openssh.ports = [
|
||||||
|
8081
|
||||||
|
22
|
||||||
|
];
|
||||||
|
|
||||||
services.surrealdb.enable = false;
|
services.surrealdb.enable = false;
|
||||||
services.surrealdb.host = "134.255.219.135";
|
services.surrealdb.host = "134.255.219.135";
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{pkgs, config, lib, ...}:
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
|
@ -58,7 +63,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.www-wordpress= {
|
users.users.www-wordpress = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
group = "www-wordpress";
|
group = "www-wordpress";
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
@ -96,37 +101,48 @@
|
||||||
# ensurePermissions = { "www-wordpress.*" = "ALL PRIVILEGES"; };
|
# ensurePermissions = { "www-wordpress.*" = "ALL PRIVILEGES"; };
|
||||||
# }
|
# }
|
||||||
#];
|
#];
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services =
|
systemd.services =
|
||||||
let
|
let
|
||||||
secretsVars = [ "AUTH_KEY" "SECURE_AUTH_KEY" "LOGGED_IN_KEY" "NONCE_KEY" "AUTH_SALT" "SECURE_AUTH_SALT" "LOGGED_IN_SALT" "NONCE_SALT" ];
|
secretsVars = [
|
||||||
secretsScript = hostStateDir: ''
|
"AUTH_KEY"
|
||||||
# The match in this line is not a typo, see https://github.com/NixOS/nixpkgs/pull/124839
|
"SECURE_AUTH_KEY"
|
||||||
grep -q "LOOGGED_IN_KEY" "${hostStateDir}/secret-keys.php" && rm "${hostStateDir}/secret-keys.php"
|
"LOGGED_IN_KEY"
|
||||||
if ! test -e "${hostStateDir}/secret-keys.php"; then
|
"NONCE_KEY"
|
||||||
umask 0177
|
"AUTH_SALT"
|
||||||
echo "<?php" >> "${hostStateDir}/secret-keys.php"
|
"SECURE_AUTH_SALT"
|
||||||
${lib.concatMapStringsSep "\n" (var: ''
|
"LOGGED_IN_SALT"
|
||||||
echo "define('${var}', '`tr -dc a-zA-Z0-9 </dev/urandom | head -c 64`');" >> "${hostStateDir}/secret-keys.php"
|
"NONCE_SALT"
|
||||||
'') secretsVars}
|
];
|
||||||
echo "?>" >> "${hostStateDir}/secret-keys.php"
|
secretsScript = hostStateDir: ''
|
||||||
chmod 440 "${hostStateDir}/secret-keys.php"
|
# The match in this line is not a typo, see https://github.com/NixOS/nixpkgs/pull/124839
|
||||||
fi
|
grep -q "LOOGGED_IN_KEY" "${hostStateDir}/secret-keys.php" && rm "${hostStateDir}/secret-keys.php"
|
||||||
'';
|
if ! test -e "${hostStateDir}/secret-keys.php"; then
|
||||||
in
|
umask 0177
|
||||||
{
|
echo "<?php" >> "${hostStateDir}/secret-keys.php"
|
||||||
"wordpress-init" = {
|
${
|
||||||
wantedBy = [ "multi-user.target" ];
|
lib.concatMapStringsSep "\n" (var: ''
|
||||||
before = [ "phpfpm-wordpress.service" ];
|
echo "define('${var}', '`tr -dc a-zA-Z0-9 </dev/urandom | head -c 64`');" >> "${hostStateDir}/secret-keys.php"
|
||||||
after = [ "mysql.service" ];
|
'') secretsVars
|
||||||
script = secretsScript "/var/www/wordpress/";
|
}
|
||||||
|
echo "?>" >> "${hostStateDir}/secret-keys.php"
|
||||||
|
chmod 440 "${hostStateDir}/secret-keys.php"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"wordpress-init" = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
before = [ "phpfpm-wordpress.service" ];
|
||||||
|
after = [ "mysql.service" ];
|
||||||
|
script = secretsScript "/var/www/wordpress/";
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "www-wordpress";
|
User = "www-wordpress";
|
||||||
Group = "nginx";
|
Group = "nginx";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
{ self, ... }:
|
{ self, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [ ./modules ];
|
||||||
./modules
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ self, ... }:
|
{ self, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [ ];
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ self, ... }:
|
{ self, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [ ];
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue