mirror of
https://codeberg.org/jopejoe1/nix-conf.git
synced 2025-01-01 16:56:34 +01:00
flake rewiritte
This commit is contained in:
parent
f206e94425
commit
a0d6ca6267
33 changed files with 1257 additions and 1070 deletions
44
flake.lock
44
flake.lock
|
@ -329,6 +329,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"jovian": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-github-actions": "nix-github-actions",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1703229133,
|
||||||
|
"narHash": "sha256-9Mj57V3FgZpQjSNv9b02GIx6GZWNRT8P1ZRKMk7dQK4=",
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"rev": "4d24d2ff927a8b8a698bbacdb1966045bcadf872",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"kde2nix": {
|
"kde2nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
|
@ -395,6 +416,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-github-actions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"jovian",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1690328911,
|
||||||
|
"narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=",
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"rev": "96df4a39c52f53cb7098b923224d8ce941b64747",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"ref": "matrix-name",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-systems": {
|
"nix-systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
@ -638,6 +681,7 @@
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"gitignore": "gitignore",
|
"gitignore": "gitignore",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"jovian": "jovian",
|
||||||
"kde2nix": "kde2nix",
|
"kde2nix": "kde2nix",
|
||||||
"libnbtplusplus": "libnbtplusplus",
|
"libnbtplusplus": "libnbtplusplus",
|
||||||
"nix-empty-flake": "nix-empty-flake",
|
"nix-empty-flake": "nix-empty-flake",
|
||||||
|
|
90
flake.nix
90
flake.nix
|
@ -2,10 +2,13 @@
|
||||||
description = "jopejoe1 NixOS configuration";
|
description = "jopejoe1 NixOS configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
#nixpkgs.url = "/home/jopejoe1/dev/nixpkgs/";
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
kde2nix.url = "github:nix-community/kde2nix";
|
kde2nix.url = "github:nix-community/kde2nix";
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
|
jovian= {
|
||||||
|
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
home-manager= {
|
home-manager= {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -24,21 +27,6 @@
|
||||||
url = "github:vinceliuice/Tela-icon-theme";
|
url = "github:vinceliuice/Tela-icon-theme";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
catppuccin-base16 = {
|
|
||||||
url = "github:catppuccin/base16";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
stylix = {
|
|
||||||
url = "github:danth/stylix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.flake-compat.follows = "flake-compat";
|
|
||||||
inputs.base16.follows = "base16";
|
|
||||||
inputs.home-manager.follows = "home-manager";
|
|
||||||
};
|
|
||||||
base16 = {
|
|
||||||
url = "github:SenchoPens/base16.nix";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Dependencys
|
# Dependencys
|
||||||
|
@ -91,11 +79,7 @@
|
||||||
|
|
||||||
outputs = inputs@{
|
outputs = inputs@{
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
home-manager,
|
|
||||||
nur,
|
|
||||||
nixos-hardware,
|
nixos-hardware,
|
||||||
stylix,
|
|
||||||
kde2nix,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
@ -104,24 +88,7 @@
|
||||||
specialArgs = inputs;
|
specialArgs = inputs;
|
||||||
modules = [
|
modules = [
|
||||||
./systems/kami
|
./systems/kami
|
||||||
./modules/audio
|
./modules
|
||||||
./modules/bluetooth
|
|
||||||
./modules/local
|
|
||||||
./modules/nix
|
|
||||||
./modules/plasma
|
|
||||||
./modules/printing
|
|
||||||
#./modules/ssh
|
|
||||||
./modules/steam
|
|
||||||
./modules/asf
|
|
||||||
./modules/minecraft-server
|
|
||||||
./modules/kate
|
|
||||||
#./modules/theming
|
|
||||||
#./modules/auto-update
|
|
||||||
./modules/services/repo-sync
|
|
||||||
#./modules/services/moodle-dl
|
|
||||||
./modules/web/peertube
|
|
||||||
./modules/users/jopejoe1
|
|
||||||
./modules/users/root
|
|
||||||
./overlays
|
./overlays
|
||||||
nixos-hardware.nixosModules.common-cpu-intel
|
nixos-hardware.nixosModules.common-cpu-intel
|
||||||
nixos-hardware.nixosModules.common-gpu-intel
|
nixos-hardware.nixosModules.common-gpu-intel
|
||||||
|
@ -129,11 +96,6 @@
|
||||||
nixos-hardware.nixosModules.common-pc
|
nixos-hardware.nixosModules.common-pc
|
||||||
nixos-hardware.nixosModules.common-hidpi
|
nixos-hardware.nixosModules.common-hidpi
|
||||||
nixos-hardware.nixosModules.common-pc-ssd
|
nixos-hardware.nixosModules.common-pc-ssd
|
||||||
nur.nixosModules.nur
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
kde2nix.nixosModules.plasma6
|
|
||||||
#nyx.nixosModules.default
|
|
||||||
#stylix.nixosModules.stylix
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
yokai = nixpkgs.lib.nixosSystem {
|
yokai = nixpkgs.lib.nixosSystem {
|
||||||
|
@ -141,20 +103,9 @@
|
||||||
specialArgs = inputs;
|
specialArgs = inputs;
|
||||||
modules = [
|
modules = [
|
||||||
./systems/yokai
|
./systems/yokai
|
||||||
./modules/audio
|
./modules
|
||||||
./modules/bluetooth
|
|
||||||
./modules/local
|
|
||||||
./modules/nix
|
|
||||||
./modules/plasma
|
|
||||||
./modules/printing
|
|
||||||
#./modules/ssh
|
|
||||||
./modules/users/jopejoe1
|
|
||||||
./modules/users/root
|
|
||||||
./overlays
|
./overlays
|
||||||
nixos-hardware.nixosModules.pine64-pinebook-pro
|
nixos-hardware.nixosModules.pine64-pinebook-pro
|
||||||
nur.nixosModules.nur
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
#nyx.nixosModules.default
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
inugami = nixpkgs.lib.nixosSystem {
|
inugami = nixpkgs.lib.nixosSystem {
|
||||||
|
@ -162,17 +113,9 @@
|
||||||
specialArgs = inputs;
|
specialArgs = inputs;
|
||||||
modules = [
|
modules = [
|
||||||
./systems/inugami
|
./systems/inugami
|
||||||
./modules/audio
|
./modules
|
||||||
./modules/bluetooth
|
|
||||||
./modules/local
|
|
||||||
./modules/nix
|
|
||||||
./modules/kodi
|
|
||||||
./modules/auto-update
|
|
||||||
./overlays
|
./overlays
|
||||||
nixos-hardware.nixosModules.raspberry-pi-4
|
nixos-hardware.nixosModules.raspberry-pi-4
|
||||||
nur.nixosModules.nur
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
#nyx.nixosModules.default
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
tuny = nixpkgs.lib.nixosSystem {
|
tuny = nixpkgs.lib.nixosSystem {
|
||||||
|
@ -180,19 +123,20 @@
|
||||||
specialArgs = inputs;
|
specialArgs = inputs;
|
||||||
modules = [
|
modules = [
|
||||||
./systems/tuny
|
./systems/tuny
|
||||||
./modules/audio
|
./modules
|
||||||
./modules/bluetooth
|
|
||||||
./modules/local
|
|
||||||
./modules/nix
|
|
||||||
./modules/auto-update
|
|
||||||
#./overlays
|
|
||||||
nixos-hardware.nixosModules.common-cpu-intel
|
nixos-hardware.nixosModules.common-cpu-intel
|
||||||
#nixos-hardware.nixosModules.common-gpu-nvidia
|
#nixos-hardware.nixosModules.common-gpu-nvidia
|
||||||
nixos-hardware.nixosModules.common-pc-laptop
|
nixos-hardware.nixosModules.common-pc-laptop
|
||||||
nixos-hardware.nixosModules.common-pc-laptop-hdd
|
nixos-hardware.nixosModules.common-pc-laptop-hdd
|
||||||
nur.nixosModules.nur
|
];
|
||||||
home-manager.nixosModules.home-manager
|
};
|
||||||
#nyx.nixosModules.default
|
steamdeck = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = inputs;
|
||||||
|
modules = [
|
||||||
|
./systems/steamdeck
|
||||||
|
./modules
|
||||||
|
./overlays
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,24 +1,34 @@
|
||||||
{ ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.asf;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.archisteamfarm = {
|
options.jopejoe1.asf = {
|
||||||
enable = true;
|
enable = lib.mkEnableOption "Enable ASF";
|
||||||
web-ui.enable = true;
|
};
|
||||||
settings = {
|
|
||||||
LicenseID = "@asfLicenseID@";
|
config = lib.mkIf cfg.enable {
|
||||||
SteamProtocols = 7;
|
services.archisteamfarm = {
|
||||||
AutoSteamSaleEvent = true;
|
enable = true;
|
||||||
};
|
web-ui.enable = true;
|
||||||
bots.jopejoe1 = {
|
|
||||||
username = "jopejoe1";
|
|
||||||
enabled = true;
|
|
||||||
passwordFile = "/var/lib/asf/pw";
|
|
||||||
settings = {
|
settings = {
|
||||||
|
LicenseID = "@asfLicenseID@";
|
||||||
|
SteamProtocols = 7;
|
||||||
AutoSteamSaleEvent = true;
|
AutoSteamSaleEvent = true;
|
||||||
FarmingOrders = 9;
|
};
|
||||||
OnlineStatus = 0;
|
bots.jopejoe1 = {
|
||||||
RemoteCommunication = 0;
|
username = "jopejoe1";
|
||||||
|
enabled = true;
|
||||||
|
passwordFile = "/var/lib/asf/pw";
|
||||||
|
settings = {
|
||||||
|
AutoSteamSaleEvent = true;
|
||||||
|
FarmingOrders = 9;
|
||||||
|
OnlineStatus = 0;
|
||||||
|
RemoteCommunication = 0;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,58 +1,63 @@
|
||||||
{ pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.audio;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
options.jopejoe1.audio = {
|
||||||
./sennheiser-hd660s.nix
|
enable = lib.mkEnableOption "Enable Audio";
|
||||||
];
|
sennheiser-hd-660s = lib.mkEnableOption "Equalizer for Sennheiser HD 660S";
|
||||||
|
};
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
config = lib.mkIf cfg.enable {
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
|
||||||
systemWide = true;
|
|
||||||
alsa = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
support32Bit = true;
|
systemWide = true;
|
||||||
};
|
alsa = {
|
||||||
pulse.enable = true;
|
enable = true;
|
||||||
jack.enable = true;
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
|
||||||
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";
|
name = "libpipewire-module-filter-chain";
|
||||||
args = {
|
args = {
|
||||||
"node.description" = "Noise Canceling source";
|
"node.description" = "Noise Canceling source";
|
||||||
"media.name" = "Noise Canceling source";
|
"media.name" = "Noise Canceling source";
|
||||||
"filter.graph" = {
|
"filter.graph" = {
|
||||||
nodes = [{
|
nodes = [{
|
||||||
type = "ladspa";
|
type = "ladspa";
|
||||||
name = "rnnoise";
|
name = "rnnoise";
|
||||||
plugin = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
|
plugin = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
|
||||||
label = "noise_suppressor_mono";
|
label = "noise_suppressor_mono";
|
||||||
control = {
|
control = {
|
||||||
"VAD Threshold (%)" = 50.0;
|
"VAD Threshold (%)" = 50.0;
|
||||||
"VAD Grace Period (ms)" = 200;
|
"VAD Grace Period (ms)" = 200;
|
||||||
"Retroactive VAD Grace (ms)" = 0;
|
"Retroactive VAD Grace (ms)" = 0;
|
||||||
};
|
};
|
||||||
}];
|
}];
|
||||||
|
};
|
||||||
|
"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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.pulseaudio.enable = false;
|
imports = [ ./sennheiser-hd660s.nix ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,181 +1,186 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, config, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.audio;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.pipewire = {
|
config = lib.mkIf cfg.sennheiser-hd-660s {
|
||||||
extraConfig.pipewire."20-Senheiser-HD660S" = {
|
services.pipewire = {
|
||||||
"context.modules" = [{
|
extraConfig.pipewire."20-Senheiser-HD660S" = {
|
||||||
name = "libpipewire-module-filter-chain";
|
"context.modules" = [{
|
||||||
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.70;
|
"Freq" = 105.0;
|
||||||
"Gain" = 6.5;
|
"Q" = 0.70;
|
||||||
};
|
"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,10 +1,19 @@
|
||||||
{ lib, pkgs, config, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.auto-update;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
system.autoUpgrade = {
|
options.jopejoe1.auto-update = {
|
||||||
enable = true;
|
enable = lib.mkEnableOption "Enable Auto-Updates";
|
||||||
randomizedDelaySec = "30min";
|
};
|
||||||
flake = if config.services.archisteamfarm.enable then "$(${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" else "github:jopejoe1/nix-conf";
|
|
||||||
dates = "hourly";
|
config = lib.mkIf cfg.enable {
|
||||||
|
system.autoUpgrade = {
|
||||||
|
enable = true;
|
||||||
|
randomizedDelaySec = "30min";
|
||||||
|
flake = if config.services.archisteamfarm.enable then "$(${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" else "github:jopejoe1/nix-conf";
|
||||||
|
dates = "hourly";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,15 @@
|
||||||
{ ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.bluetooth;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
hardware.bluetooth.enable = true;
|
options.jopejoe1.bluetooth = {
|
||||||
hardware.bluetooth.powerOnBoot = true;
|
enable = lib.mkEnableOption "Enable Bluetooth";
|
||||||
}
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
23
modules/default.nix
Normal file
23
modules/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ self, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./asf
|
||||||
|
./audio
|
||||||
|
./auto-update
|
||||||
|
./bluetooth
|
||||||
|
./local
|
||||||
|
./minecraft-server
|
||||||
|
./moodle-dl
|
||||||
|
./nix
|
||||||
|
./plasma
|
||||||
|
./plasma/6.nix
|
||||||
|
./printing
|
||||||
|
./repo-sync
|
||||||
|
./steam
|
||||||
|
./users
|
||||||
|
self.inputs.kde2nix.nixosModules.plasma6
|
||||||
|
self.inputs.nur.nixosModules.nur
|
||||||
|
self.inputs.home-manager.nixosModules.home-manager
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,14 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
libsForQt5.kate
|
|
||||||
nil
|
|
||||||
nixd
|
|
||||||
nodePackages_latest.bash-language-server
|
|
||||||
nodePackages_latest.vscode-html-languageserver-bin
|
|
||||||
nodePackages_latest.vscode-json-languageserver
|
|
||||||
python311Packages.python-lsp-server
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.cage.user = "kodi";
|
|
||||||
services.cage.program = "${pkgs.kodi-wayland.withPackages (p: with p; [ trakt netflix youtube vfs-sftp ])}/bin/kodi-standalone";
|
|
||||||
services.cage.enable = true;
|
|
||||||
|
|
||||||
networking.firewall = {
|
|
||||||
allowedTCPPorts = [ 8080 ];
|
|
||||||
allowedUDPPorts = [ 8080 ];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.extraUsers.kodi.isNormalUser = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,49 @@
|
||||||
{ pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.local;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
xdg = {
|
options.jopejoe1.local = {
|
||||||
sounds.enable = true;
|
enable = lib.mkEnableOption "Enable Locals";
|
||||||
mime.enable = true;
|
};
|
||||||
menus.enable = true;
|
|
||||||
icons.enable = true;
|
config = lib.mkIf cfg.enable {
|
||||||
autostart.enable = true;
|
xdg = {
|
||||||
portal = {
|
sounds.enable = true;
|
||||||
enable = true;
|
mime.enable = true;
|
||||||
extraPortals = with pkgs; [ xdg-desktop-portal ];
|
menus.enable = true;
|
||||||
|
icons.enable = true;
|
||||||
|
autostart.enable = true;
|
||||||
|
portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [ xdg-desktop-portal ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
i18n = {
|
i18n = {
|
||||||
defaultLocale = "en_NZ.UTF-8";
|
defaultLocale = "en_NZ.UTF-8";
|
||||||
extraLocaleSettings = {
|
extraLocaleSettings = {
|
||||||
LC_ADDRESS = "de_DE.UTF-8";
|
LC_ADDRESS = "de_DE.UTF-8";
|
||||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||||
LC_MONETARY = "de_DE.UTF-8";
|
LC_MONETARY = "de_DE.UTF-8";
|
||||||
LC_NAME = "de_DE.UTF-8";
|
LC_NAME = "de_DE.UTF-8";
|
||||||
LC_NUMERIC = "de_DE.UTF-8";
|
LC_NUMERIC = "de_DE.UTF-8";
|
||||||
LC_PAPER = "de_DE.UTF-8";
|
LC_PAPER = "de_DE.UTF-8";
|
||||||
LC_TELEPHONE = "de_DE.UTF-8";
|
LC_TELEPHONE = "de_DE.UTF-8";
|
||||||
LC_TIME = "de_DE.UTF-8";
|
LC_TIME = "de_DE.UTF-8";
|
||||||
LC_CTYPE = "de_DE.UTF-8";
|
LC_CTYPE = "de_DE.UTF-8";
|
||||||
LC_COLLATE = "de_DE.UTF-8";
|
LC_COLLATE = "de_DE.UTF-8";
|
||||||
LC_MESSAGES = "en_NZ.UTF-8";
|
LC_MESSAGES = "en_NZ.UTF-8";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
LOG_ICONS = "true";
|
LOG_ICONS = "true";
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.fontDir.enable = true;
|
fonts.fontDir.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,28 @@
|
||||||
{ ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.minecraft-server;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.minecraft-server = {
|
options.jopejoe1.minecraft-server = {
|
||||||
enable = true;
|
enable = lib.mkEnableOption "Enable Bluetooth";
|
||||||
eula = true;
|
};
|
||||||
openFirewall = true;
|
|
||||||
declarative = true;
|
config = lib.mkIf cfg.enable {
|
||||||
serverProperties = {
|
services.minecraft-server = {
|
||||||
difficulty = 3;
|
enable = true;
|
||||||
enable-rcon = true;
|
eula = true;
|
||||||
"rcon.password" = "test";
|
openFirewall = true;
|
||||||
motd = "\\u00A7cWake up to reality! Nothing ever goes as planned in this accursed world.☯";
|
declarative = true;
|
||||||
spawn-protection = 0;
|
serverProperties = {
|
||||||
level-type = "minecraft:amplified";
|
difficulty = 3;
|
||||||
level-name = "amplified_world";
|
enable-rcon = true;
|
||||||
|
"rcon.password" = "test";
|
||||||
|
motd = "\\u00A7cWake up to reality! Nothing ever goes as planned in this accursed world.☯";
|
||||||
|
spawn-protection = 0;
|
||||||
|
level-type = "minecraft:amplified";
|
||||||
|
level-name = "amplified_world";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
35
modules/moodle-dl/default.nix
Normal file
35
modules/moodle-dl/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.moodle-dl;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.moodle-dl = {
|
||||||
|
enable = lib.mkEnableOption "Enable moodle-dl";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
systemd.timers."moodle-dl" = {
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig = {
|
||||||
|
OnBootSec = "5m";
|
||||||
|
OnUnitActiveSec = "1h";
|
||||||
|
Unit = "moodle-dl.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."moodle-dl" = {
|
||||||
|
script = ''
|
||||||
|
${lib.getExe pkgs.moodle-dl} --path /var/moodle-dl
|
||||||
|
${lib.getExe pkgs.git} -C /var/moodle-dl add .
|
||||||
|
${lib.getExe pkgs.git} -C /var/moodle-dl commit -m "moodle-dl updated on `$(${pkgs.coreutils}/bin/date)`"
|
||||||
|
'';
|
||||||
|
path = [ pkgs.openssh ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = "root";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,53 +1,62 @@
|
||||||
{ pkgs, self, ... }:
|
{ config, lib, pkgs, self, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.nix;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
nix = {
|
options.jopejoe1.nix = {
|
||||||
settings = {
|
enable = lib.mkEnableOption "Enable Nix";
|
||||||
substituters = [
|
|
||||||
"https://cache.nixos.org"
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
];
|
|
||||||
trusted-public-keys = [
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
];
|
|
||||||
trusted-users = [ "root" ];
|
|
||||||
sandbox = true;
|
|
||||||
require-sigs = true;
|
|
||||||
max-jobs = "auto";
|
|
||||||
auto-optimise-store = true;
|
|
||||||
allowed-users = [ "*" ];
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
warn-dirty = false;
|
|
||||||
use-xdg-base-directories = true;
|
|
||||||
};
|
|
||||||
package = pkgs.nix;
|
|
||||||
registry = {
|
|
||||||
home-manager.flake = self.inputs.home-manager;
|
|
||||||
nixos-hardware.flake = self.inputs.nixos-hardware;
|
|
||||||
nur.flake = self.inputs.nur;
|
|
||||||
nixpkgs.flake = self.inputs.nixpkgs;
|
|
||||||
};
|
|
||||||
nixPath = [ "nixpkgs=${self.inputs.nixpkgs}" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
config = lib.mkIf cfg.enable {
|
||||||
deploy-rs
|
nix = {
|
||||||
nixfmt
|
settings = {
|
||||||
nix-index
|
substituters = [
|
||||||
nix-prefetch-git
|
"https://cache.nixos.org"
|
||||||
nixpkgs-review
|
"https://nix-community.cachix.org"
|
||||||
nurl
|
];
|
||||||
nix-init
|
trusted-public-keys = [
|
||||||
];
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
];
|
||||||
|
trusted-users = [ "root" ];
|
||||||
|
sandbox = true;
|
||||||
|
require-sigs = true;
|
||||||
|
max-jobs = "auto";
|
||||||
|
auto-optimise-store = true;
|
||||||
|
allowed-users = [ "*" ];
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
warn-dirty = false;
|
||||||
|
use-xdg-base-directories = true;
|
||||||
|
};
|
||||||
|
package = pkgs.nix;
|
||||||
|
registry = {
|
||||||
|
home-manager.flake = self.inputs.home-manager;
|
||||||
|
nixos-hardware.flake = self.inputs.nixos-hardware;
|
||||||
|
nur.flake = self.inputs.nur;
|
||||||
|
nixpkgs.flake = self.inputs.nixpkgs;
|
||||||
|
};
|
||||||
|
nixPath = [ "nixpkgs=${self.inputs.nixpkgs}" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ];
|
||||||
|
};
|
||||||
|
|
||||||
home-manager = {
|
environment.systemPackages = with pkgs; [
|
||||||
useGlobalPkgs = true;
|
deploy-rs
|
||||||
useUserPackages = true;
|
nixfmt
|
||||||
backupFileExtension = "backup";
|
nixpkgs-fmt
|
||||||
|
nix-index
|
||||||
|
nix-prefetch-git
|
||||||
|
nixpkgs-review
|
||||||
|
nurl
|
||||||
|
nix-init
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.05";
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
33
modules/plasma/6.nix
Normal file
33
modules/plasma/6.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.plasma6;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.plasma6 = {
|
||||||
|
enable = lib.mkEnableOption "Enable KDE Plasma 6";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services = {
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
libinput.enable = true;
|
||||||
|
|
||||||
|
displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
enableHidpi = true;
|
||||||
|
};
|
||||||
|
desktopManager.plasma6 = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,27 +1,34 @@
|
||||||
{ pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.plasma;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services = {
|
options.jopejoe1.plasma = {
|
||||||
xserver = {
|
enable = lib.mkEnableOption "Enable KDE Plasma";
|
||||||
enable = true;
|
|
||||||
|
|
||||||
libinput.enable = true;
|
|
||||||
|
|
||||||
displayManager.sddm = {
|
|
||||||
enable = true;
|
|
||||||
enableHidpi = true;
|
|
||||||
};
|
|
||||||
desktopManager.plasma6 = {
|
|
||||||
enable = true;
|
|
||||||
#useQtScaling = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.kdeconnect = {
|
config = lib.mkIf cfg.enable {
|
||||||
enable = true;
|
services = {
|
||||||
#package = pkgs.plasma5Packages.kdeconnect-kde;
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
libinput.enable = true;
|
||||||
|
|
||||||
|
displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
enableHidpi = true;
|
||||||
|
};
|
||||||
|
desktopManager.plasma5 = {
|
||||||
|
enable = true;
|
||||||
|
useQtScaling = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,32 @@
|
||||||
{ pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.printing;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.printing = {
|
options.jopejoe1.printing = {
|
||||||
enable = true;
|
enable = lib.mkEnableOption "Enable Printing";
|
||||||
webInterface = true;
|
|
||||||
drivers = with pkgs; [ hplipWithPlugin ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
config = lib.mkIf cfg.enable {
|
||||||
sane = {
|
services.printing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraBackends = with pkgs; [ sane-airscan hplipWithPlugin ];
|
webInterface = true;
|
||||||
|
drivers = with pkgs; [ hplipWithPlugin ];
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
sane = {
|
||||||
|
enable = true;
|
||||||
|
extraBackends = with pkgs; [ sane-airscan hplipWithPlugin ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
43
modules/repo-sync/default.nix
Normal file
43
modules/repo-sync/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.repo-sync;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.jopejoe1.repo-sync = {
|
||||||
|
enable = lib.mkEnableOption "Enable Repo Sync";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
systemd.timers."repo-sync" = {
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig = {
|
||||||
|
OnBootSec = "5m";
|
||||||
|
OnUnitActiveSec = "15m";
|
||||||
|
Unit = "repo-sync.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."repo-sync" = {
|
||||||
|
script = ''
|
||||||
|
${lib.getExe pkgs.git} clone git@codeberg.org:jopejoe1/nix-conf.git /var/lib/repo-sync
|
||||||
|
${lib.getExe pkgs.git} -C /var/lib/repo-sync remote add github git@github.com:jopejoe1/nix-conf.git
|
||||||
|
${lib.getExe pkgs.git} -C /var/lib/repo-sync remote add gitlab git@gitlab.com:jopejoe1/nix-conf.git
|
||||||
|
${lib.getExe pkgs.git} -C /var/lib/repo-sync pull -r github main
|
||||||
|
${lib.getExe pkgs.git} -C /var/lib/repo-sync pull -r gitlab main
|
||||||
|
${lib.getExe pkgs.nix} flake update /var/lib/repo-sync
|
||||||
|
${lib.getExe pkgs.git} -C /var/lib/repo-sync commit -m "flack.lock updated on `$(${pkgs.coreutils}/bin/date)`"
|
||||||
|
${lib.getExe pkgs.git} -C /var/lib/repo-sync push origin
|
||||||
|
${lib.getExe pkgs.git} -C /var/lib/repo-sync push github
|
||||||
|
${lib.getExe pkgs.git} -C /var/lib/repo-sync push gitlab
|
||||||
|
${pkgs.coreutils}/bin/rm -r /var/lib/repo-sync
|
||||||
|
'';
|
||||||
|
path = [ pkgs.openssh ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
User = "root";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{ lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
systemd.timers."moodle-dl" = {
|
|
||||||
wantedBy = [ "timers.target" ];
|
|
||||||
timerConfig = {
|
|
||||||
OnBootSec = "5m";
|
|
||||||
OnUnitActiveSec = "1h";
|
|
||||||
Unit = "moodle-dl.service";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services."moodle-dl" = {
|
|
||||||
script = ''
|
|
||||||
${lib.getExe pkgs.moodle-dl} --path /var/moodle-dl
|
|
||||||
${lib.getExe pkgs.git} -C /var/moodle-dl add .
|
|
||||||
${lib.getExe pkgs.git} -C /var/moodle-dl commit -m "moodle-dl updated on `$(${pkgs.coreutils}/bin/date)`"
|
|
||||||
'';
|
|
||||||
path = [pkgs.openssh];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
User = "root";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
{ lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
systemd.timers."repo-sync" = {
|
|
||||||
wantedBy = [ "timers.target" ];
|
|
||||||
timerConfig = {
|
|
||||||
OnBootSec = "5m";
|
|
||||||
OnUnitActiveSec = "15m";
|
|
||||||
Unit = "repo-sync.service";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services."repo-sync" = {
|
|
||||||
script = ''
|
|
||||||
${lib.getExe pkgs.git} clone git@codeberg.org:jopejoe1/nix-conf.git /var/lib/repo-sync
|
|
||||||
${lib.getExe pkgs.git} -C /var/lib/repo-sync remote add github git@github.com:jopejoe1/nix-conf.git
|
|
||||||
${lib.getExe pkgs.git} -C /var/lib/repo-sync remote add gitlab git@gitlab.com:jopejoe1/nix-conf.git
|
|
||||||
${lib.getExe pkgs.git} -C /var/lib/repo-sync pull -r github main
|
|
||||||
${lib.getExe pkgs.git} -C /var/lib/repo-sync pull -r gitlab main
|
|
||||||
${lib.getExe pkgs.nix} flake update /var/lib/repo-sync
|
|
||||||
${lib.getExe pkgs.git} -C /var/lib/repo-sync commit -m "flack.lock updated on `$(${pkgs.coreutils}/bin/date)`"
|
|
||||||
${lib.getExe pkgs.git} -C /var/lib/repo-sync push origin
|
|
||||||
${lib.getExe pkgs.git} -C /var/lib/repo-sync push github
|
|
||||||
${lib.getExe pkgs.git} -C /var/lib/repo-sync push gitlab
|
|
||||||
${pkgs.coreutils}/bin/rm -r /var/lib/repo-sync
|
|
||||||
'';
|
|
||||||
path = [pkgs.openssh];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
User = "root";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services = {
|
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
ports = [ 22 ];
|
|
||||||
openFirewall = true;
|
|
||||||
allowSFTP = true;
|
|
||||||
settings = {
|
|
||||||
X11forwarding = true;
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
passwordAuthentication = true;
|
|
||||||
kbdInteractiveAuthentication = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ sshfs ];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,23 @@
|
||||||
{ pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.steam;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
hardware.steam-hardware.enable = true;
|
options.jopejoe1.steam = {
|
||||||
|
enable = lib.mkEnableOption "Enable Steam";
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
dedicatedServer.openFirewall = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.steam.gamescopeSession.enable = true;
|
config = lib.mkIf cfg.enable {
|
||||||
|
hardware.steam-hardware.enable = true;
|
||||||
|
|
||||||
#chaotic.steam.extraCompatPackages = with pkgs; [
|
programs.steam = {
|
||||||
# luxtorpeda
|
enable = true;
|
||||||
# proton-ge-custom
|
remotePlay.openFirewall = true;
|
||||||
#];
|
dedicatedServer.openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.steam.gamescopeSession.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{pkgs, self, ...}:
|
|
||||||
|
|
||||||
{
|
|
||||||
stylix = {
|
|
||||||
image = "${pkgs.libsForQt5.breeze-qt5}/share/wallpapers/Next/contents/images_dark/5120x2880.png";
|
|
||||||
polarity = "dark";
|
|
||||||
base16Scheme = "${self.inputs.catppuccin-base16}/base16/frappe.yaml";
|
|
||||||
fonts.emoji.package = pkgs.noto-fonts-color-emoji;
|
|
||||||
fonts.emoji.name = "Noto Color Emoji";
|
|
||||||
};
|
|
||||||
}
|
|
8
modules/users/default.nix
Normal file
8
modules/users/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./root
|
||||||
|
./jopejoe1
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,30 +1,31 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.jopejoe1;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
options.jopejoe1.jopejoe1 = {
|
||||||
./home.nix
|
enable = lib.mkEnableOption "Enable jopejoe1 user";
|
||||||
];
|
|
||||||
|
|
||||||
users.users.jopejoe1 = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Johannes Jöns";
|
|
||||||
initialPassword = "password";
|
|
||||||
extraGroups = [ "wheel" "networkmanager" "pipewire" "audio" ];
|
|
||||||
uid = 1000;
|
|
||||||
packages = with pkgs; [
|
|
||||||
libsForQt5.kate
|
|
||||||
libsForQt5.ark
|
|
||||||
#libreoffice-qt
|
|
||||||
texlive.combined.scheme-full
|
|
||||||
] ++ lib.optionals (config.system == "x86_64-linux") [
|
|
||||||
discord
|
|
||||||
google-chrome
|
|
||||||
lutris
|
|
||||||
bottles
|
|
||||||
];
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCUWMJyy2qq2aacVv/J5raugh7UKEmCs+JpagQh30mYqwLV9YQtOfZ+A3Q1qOOLPHTTciLydsfz8K2jBGXEv49uqz9P33aw63RzSaLdcnXhBJRmZvJ3AujLBKDIo24PLOVasogtu01eyQALTg4npX+qlti2UsxLY5O8E5paFJvJ+5rGE3/34c4xA9xthUm7G7SCSt4AhVXwPGB1tqz1KLqGdTJQhvy80laEDSV4tAYpiabmjhNFKGpf8T7afnw1MzKXz+ba6exBcGaJfy2Q24DLztZsW7fsTE1iCdkbcmos9/jUR6NooKFgDr0M4CL2TVZB5pECSiOev06GMnLt+vpxjFL29YeGMaVMmNCedkL1z1mftbXLEL7934kEK9FpEpSwzbRTJ7iPvfYZuTHiT6fi2Ep7n+zzRS+/ZgDUDLSqZYEBmE4dO4LgcqzOsJo5EgoyLGoqQ4OpvPRY12T3rCWUfEgOCXgToF0WlUyxCaPZCfvUjM4LXNlIy/dtivMxMs8= jopejoe1@yokai"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
users.users.jopejoe1 = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Johannes Jöns";
|
||||||
|
initialPassword = "passwor";
|
||||||
|
extraGroups = [ "wheel" "networkmanager" "pipewire" "audio" ];
|
||||||
|
uid = 1000;
|
||||||
|
packages = with pkgs; [
|
||||||
|
libsForQt5.kate
|
||||||
|
libsForQt5.ark
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
] ++ lib.optionals (config.system == "x86_64-linux") [
|
||||||
|
discord
|
||||||
|
lutris
|
||||||
|
bottles
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [ ./home.nix ];
|
||||||
|
}
|
||||||
|
|
|
@ -1,178 +1,182 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
let hcfg = config.home-manager.users.jopejoe1;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.jopejoe1;
|
||||||
home-manager.users.jopejoe1 = {
|
hcfg = config.home-manager.users.jopejoe1;
|
||||||
home = {
|
in
|
||||||
# Basic information for home-manager
|
{
|
||||||
username = config.users.users.jopejoe1.name;
|
config = lib.mkIf cfg.enable {
|
||||||
homeDirectory = config.users.users.jopejoe1.home;
|
home-manager.users.jopejoe1 = {
|
||||||
|
home = {
|
||||||
|
# Basic information for home-manager
|
||||||
|
username = config.users.users.jopejoe1.name;
|
||||||
|
homeDirectory = config.users.users.jopejoe1.home;
|
||||||
|
|
||||||
# Enviroment variables
|
# Enviroment variables
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos";
|
XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos";
|
||||||
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
|
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
|
||||||
ANDROID_HOME = "${hcfg.xdg.dataHome}/android";
|
ANDROID_HOME = "${hcfg.xdg.dataHome}/android";
|
||||||
CUDA_CACHE_PATH = "${hcfg.xdg.cacheHome}/nv";
|
CUDA_CACHE_PATH = "${hcfg.xdg.cacheHome}/nv";
|
||||||
GRADLE_USER_HOME = "${hcfg.xdg.dataHome}/gradle";
|
GRADLE_USER_HOME = "${hcfg.xdg.dataHome}/gradle";
|
||||||
KODI_DATA = "${hcfg.xdg.dataHome}/kodi";
|
KODI_DATA = "${hcfg.xdg.dataHome}/kodi";
|
||||||
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${hcfg.xdg.configHome}/java";
|
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${hcfg.xdg.configHome}/java";
|
||||||
WINEPREFIX = "${hcfg.xdg.dataHome}/wine";
|
WINEPREFIX = "${hcfg.xdg.dataHome}/wine";
|
||||||
|
};
|
||||||
|
|
||||||
|
stateVersion = config.system.stateVersion;
|
||||||
};
|
};
|
||||||
|
|
||||||
stateVersion = config.system.stateVersion;
|
accounts.email.accounts = {
|
||||||
};
|
main = {
|
||||||
|
address = "johannes@joens.email";
|
||||||
accounts.email.accounts = {
|
flavor = "gmail.com";
|
||||||
main = {
|
primary = true;
|
||||||
address = "johannes@joens.email";
|
realName = "Johannes Jöns";
|
||||||
flavor = "gmail.com";
|
thunderbird.enable = true;
|
||||||
primary = true;
|
|
||||||
realName = "Johannes Jöns";
|
|
||||||
thunderbird.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = false;
|
|
||||||
gtk2.configLocation = "${hcfg.xdg.configHome}/gtk-2.0/gtkrc";
|
|
||||||
};
|
|
||||||
|
|
||||||
# XDG base dirs
|
|
||||||
xdg = {
|
|
||||||
enable = true;
|
|
||||||
mime.enable = true;
|
|
||||||
cacheHome = "${hcfg.home.homeDirectory}/.cache";
|
|
||||||
configHome = "${hcfg.home.homeDirectory}/.config";
|
|
||||||
dataHome = "${hcfg.home.homeDirectory}/.local/share";
|
|
||||||
stateHome = "${hcfg.home.homeDirectory}/.local/state";
|
|
||||||
userDirs = {
|
|
||||||
enable = true;
|
|
||||||
createDirectories = true;
|
|
||||||
desktop = "${hcfg.home.homeDirectory}/Desktop";
|
|
||||||
documents = "${hcfg.home.homeDirectory}/Documents";
|
|
||||||
download = "${hcfg.home.homeDirectory}/Downloads";
|
|
||||||
music = "${hcfg.home.homeDirectory}/Music";
|
|
||||||
pictures = "${hcfg.home.homeDirectory}/Pictures";
|
|
||||||
publicShare = "${hcfg.home.homeDirectory}/Public";
|
|
||||||
templates = "${hcfg.home.homeDirectory}/Templates";
|
|
||||||
videos = "${hcfg.home.homeDirectory}/Videos";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs = {
|
|
||||||
home-manager.enable = true;
|
|
||||||
bash = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
enableVteIntegration = true;
|
|
||||||
historyControl = [ "erasedups" "ignoredups" "ignorespace" ];
|
|
||||||
historyFile = "${hcfg.xdg.stateHome}/bash/history";
|
|
||||||
};
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.git;
|
|
||||||
userEmail = "johannes@joens.email";
|
|
||||||
userName = "jopejoe1";
|
|
||||||
extraConfig = {
|
|
||||||
core = {
|
|
||||||
whitespace = [
|
|
||||||
"blank-at-eol"
|
|
||||||
"blank-at-eof"
|
|
||||||
"space-before-tab"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
direnv = {
|
|
||||||
enable = true;
|
gtk = {
|
||||||
nix-direnv.enable = true;
|
enable = false;
|
||||||
|
gtk2.configLocation = "${hcfg.xdg.configHome}/gtk-2.0/gtkrc";
|
||||||
};
|
};
|
||||||
firefox = {
|
|
||||||
|
# XDG base dirs
|
||||||
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.wrapFirefox pkgs.firefox-devedition-unwrapped {
|
mime.enable = true;
|
||||||
icon = "firefox-devedition";
|
cacheHome = "${hcfg.home.homeDirectory}/.cache";
|
||||||
nameSuffix = "-devedition";
|
configHome = "${hcfg.home.homeDirectory}/.config";
|
||||||
pname = "firefox-devedition";
|
dataHome = "${hcfg.home.homeDirectory}/.local/share";
|
||||||
desktopName = "Firefox DevEdition";
|
stateHome = "${hcfg.home.homeDirectory}/.local/state";
|
||||||
wmClass = "firefox-devedition";
|
userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
desktop = "${hcfg.home.homeDirectory}/Desktop";
|
||||||
|
documents = "${hcfg.home.homeDirectory}/Documents";
|
||||||
|
download = "${hcfg.home.homeDirectory}/Downloads";
|
||||||
|
music = "${hcfg.home.homeDirectory}/Music";
|
||||||
|
pictures = "${hcfg.home.homeDirectory}/Pictures";
|
||||||
|
publicShare = "${hcfg.home.homeDirectory}/Public";
|
||||||
|
templates = "${hcfg.home.homeDirectory}/Templates";
|
||||||
|
videos = "${hcfg.home.homeDirectory}/Videos";
|
||||||
};
|
};
|
||||||
policies = {
|
};
|
||||||
AppAutoUpdate = false;
|
programs = {
|
||||||
BackgroundAppUpdate = false;
|
home-manager.enable = true;
|
||||||
CaptivePortal = false;
|
bash = {
|
||||||
DefaultDownloadDirectory = "${hcfg.xdg.userDirs.download}";
|
enable = true;
|
||||||
DisableAccounts = true;
|
enableCompletion = true;
|
||||||
DisableAppUpdate = true;
|
enableVteIntegration = true;
|
||||||
DisableFirefoxAccounts = true;
|
historyControl = [ "erasedups" "ignoredups" "ignorespace" ];
|
||||||
DisableFirefoxStudies = true;
|
historyFile = "${hcfg.xdg.stateHome}/bash/history";
|
||||||
DisableForgetButton = true;
|
};
|
||||||
DisableFormHistory = true;
|
git = {
|
||||||
DisableMasterPasswordCreation = true;
|
enable = true;
|
||||||
DisablePasswordReveal = true;
|
package = pkgs.git;
|
||||||
DisablePocket = true;
|
userEmail = "johannes@joens.email";
|
||||||
DisableSetDesktopBackground = true;
|
userName = "jopejoe1";
|
||||||
DisableSystemAddonUpdate = true;
|
extraConfig = {
|
||||||
DisableTelemetry = true;
|
core = {
|
||||||
DontCheckDefaultBrowser = true;
|
whitespace = [
|
||||||
ExtensionUpdate = false;
|
"blank-at-eol"
|
||||||
HardwareAcceleration = true;
|
"blank-at-eof"
|
||||||
ManualAppUpdateOnly = true;
|
"space-before-tab"
|
||||||
NoDefaultBookmarks = true;
|
];
|
||||||
OfferToSaveLogins = false;
|
};
|
||||||
OfferToSaveLoginsDefault = false;
|
|
||||||
PasswordManagerEnabled = false;
|
|
||||||
PrimaryPassword = false;
|
|
||||||
SearchBar = "unified";
|
|
||||||
StartDownloadsInTempDirectory = true;
|
|
||||||
DNSOverHTTPS = {
|
|
||||||
Enabled = false;
|
|
||||||
Locked = true;
|
|
||||||
};
|
};
|
||||||
EnableTrackingProtection = {
|
};
|
||||||
Value = true;
|
direnv = {
|
||||||
EmailTracking = true;
|
enable = true;
|
||||||
Cryptomining = true;
|
nix-direnv.enable = true;
|
||||||
Fingerprinting = true;
|
};
|
||||||
Locked = true;
|
firefox = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.wrapFirefox pkgs.firefox-devedition-unwrapped {
|
||||||
|
icon = "firefox-devedition";
|
||||||
|
nameSuffix = "-devedition";
|
||||||
|
pname = "firefox-devedition";
|
||||||
|
desktopName = "Firefox DevEdition";
|
||||||
|
wmClass = "firefox-devedition";
|
||||||
};
|
};
|
||||||
FirefoxHome = {
|
policies = {
|
||||||
Highlights = false;
|
AppAutoUpdate = false;
|
||||||
Pocket = false;
|
BackgroundAppUpdate = false;
|
||||||
Search = true;
|
CaptivePortal = false;
|
||||||
Snippets = false;
|
DefaultDownloadDirectory = "${hcfg.xdg.userDirs.download}";
|
||||||
SponsoredPocket = false;
|
DisableAccounts = true;
|
||||||
SponsoredTopSites = false;
|
DisableAppUpdate = true;
|
||||||
TopSites = true;
|
DisableFirefoxAccounts = true;
|
||||||
Locked = true;
|
DisableFirefoxStudies = true;
|
||||||
};
|
DisableForgetButton = true;
|
||||||
FirefoxSuggest = {
|
DisableFormHistory = true;
|
||||||
WebSuggestions = false;
|
DisableMasterPasswordCreation = true;
|
||||||
SponsoredSuggestions = false;
|
DisablePasswordReveal = true;
|
||||||
ImproveSuggest = false;
|
DisablePocket = true;
|
||||||
Locked = true;
|
DisableSetDesktopBackground = true;
|
||||||
};
|
DisableSystemAddonUpdate = true;
|
||||||
PDFjs = {
|
DisableTelemetry = true;
|
||||||
Enabled = true;
|
DontCheckDefaultBrowser = true;
|
||||||
EnablePermissions = false;
|
ExtensionUpdate = false;
|
||||||
};
|
HardwareAcceleration = true;
|
||||||
SupportMenu = {
|
ManualAppUpdateOnly = true;
|
||||||
Title = "Localhost";
|
NoDefaultBookmarks = true;
|
||||||
URL = "http://localhost";
|
OfferToSaveLogins = false;
|
||||||
};
|
OfferToSaveLoginsDefault = false;
|
||||||
UserMessaging = {
|
PasswordManagerEnabled = false;
|
||||||
WhatsNew = false;
|
PrimaryPassword = false;
|
||||||
ExtensionRecommendations = false;
|
SearchBar = "unified";
|
||||||
FeatureRecommendations = false;
|
StartDownloadsInTempDirectory = true;
|
||||||
UrlbarInterventions = false;
|
DNSOverHTTPS = {
|
||||||
SkipOnboarding = true;
|
Enabled = false;
|
||||||
MoreFromMozilla = false;
|
Locked = true;
|
||||||
Locked = true;
|
};
|
||||||
};
|
EnableTrackingProtection = {
|
||||||
# Extension Settings
|
Value = true;
|
||||||
"3rdparty" = {
|
EmailTracking = true;
|
||||||
Extensions = {
|
Cryptomining = true;
|
||||||
"uBlock0@raymondhill.net" = {
|
Fingerprinting = true;
|
||||||
#adminSettings = {
|
Locked = true;
|
||||||
|
};
|
||||||
|
FirefoxHome = {
|
||||||
|
Highlights = false;
|
||||||
|
Pocket = false;
|
||||||
|
Search = true;
|
||||||
|
Snippets = false;
|
||||||
|
SponsoredPocket = false;
|
||||||
|
SponsoredTopSites = false;
|
||||||
|
TopSites = true;
|
||||||
|
Locked = true;
|
||||||
|
};
|
||||||
|
FirefoxSuggest = {
|
||||||
|
WebSuggestions = false;
|
||||||
|
SponsoredSuggestions = false;
|
||||||
|
ImproveSuggest = false;
|
||||||
|
Locked = true;
|
||||||
|
};
|
||||||
|
PDFjs = {
|
||||||
|
Enabled = true;
|
||||||
|
EnablePermissions = false;
|
||||||
|
};
|
||||||
|
SupportMenu = {
|
||||||
|
Title = "Localhost";
|
||||||
|
URL = "http://localhost";
|
||||||
|
};
|
||||||
|
UserMessaging = {
|
||||||
|
WhatsNew = false;
|
||||||
|
ExtensionRecommendations = false;
|
||||||
|
FeatureRecommendations = false;
|
||||||
|
UrlbarInterventions = false;
|
||||||
|
SkipOnboarding = true;
|
||||||
|
MoreFromMozilla = false;
|
||||||
|
Locked = true;
|
||||||
|
};
|
||||||
|
# Extension Settings
|
||||||
|
"3rdparty" = {
|
||||||
|
Extensions = {
|
||||||
|
"uBlock0@raymondhill.net" = {
|
||||||
|
#adminSettings = {
|
||||||
userSettings = {
|
userSettings = {
|
||||||
uiTheme = "dark";
|
uiTheme = "dark";
|
||||||
autoUpdate = true;
|
autoUpdate = true;
|
||||||
|
@ -217,226 +221,227 @@ in {
|
||||||
"DEU-0"
|
"DEU-0"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
#};
|
#};
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
profiles = {
|
|
||||||
default = {
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
ublock-origin
|
|
||||||
privacy-badger
|
|
||||||
bitwarden
|
|
||||||
clearurls
|
|
||||||
decentraleyes
|
|
||||||
duckduckgo-privacy-essentials
|
|
||||||
ghostery
|
|
||||||
libredirect
|
|
||||||
privacy-badger
|
|
||||||
languagetool
|
|
||||||
#fastforward
|
|
||||||
return-youtube-dislikes
|
|
||||||
sponsorblock
|
|
||||||
augmented-steam
|
|
||||||
steam-database
|
|
||||||
refined-github
|
|
||||||
plasma-integration
|
|
||||||
#bypass-paywalls-clean
|
|
||||||
lovely-forks
|
|
||||||
search-by-image
|
|
||||||
skip-redirect
|
|
||||||
terms-of-service-didnt-read
|
|
||||||
unpaywall
|
|
||||||
wappalyzer
|
|
||||||
wayback-machine
|
|
||||||
modrinthify
|
|
||||||
];
|
|
||||||
id = 0;
|
|
||||||
isDefault = true;
|
|
||||||
name = "default";
|
|
||||||
search = {
|
|
||||||
default = "DuckDuckGo";
|
|
||||||
force = true;
|
|
||||||
engines = {
|
|
||||||
"Nix Packages" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://search.nixos.org/packages";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "type";
|
|
||||||
value = "packages";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "channel";
|
|
||||||
value = "unstable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "query";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
icon =
|
|
||||||
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
definedAliases = [ "@np" ];
|
|
||||||
};
|
|
||||||
"NixOS Modules" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://search.nixos.org/options";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "type";
|
|
||||||
value = "packages";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "channel";
|
|
||||||
value = "unstable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "query";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
icon =
|
|
||||||
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
definedAliases = [ "@nm" ];
|
|
||||||
};
|
|
||||||
"NixOS Wiki" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://nixos.wiki/index.php";
|
|
||||||
params = [{
|
|
||||||
name = "search";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}];
|
|
||||||
}];
|
|
||||||
icon =
|
|
||||||
"${hcfg.programs.firefox.profiles.default.search.engines."Nix Packages".icon}";
|
|
||||||
definedAliases = [ "@nw" ];
|
|
||||||
};
|
|
||||||
"Minecraft Wiki" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://minecraft.wiki/";
|
|
||||||
params = [{
|
|
||||||
name = "search";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}];
|
|
||||||
}];
|
|
||||||
iconUpdateURL = "https://minecraft.wiki/images/Wiki.png";
|
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
|
||||||
definedAliases = [ "@mc" ];
|
|
||||||
};
|
|
||||||
"Warframe Wiki" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://warframe.fandom.com/wiki/Special:Search";
|
|
||||||
params = [{
|
|
||||||
name = "query";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}];
|
|
||||||
}];
|
|
||||||
iconUpdateURL = "https://static.wikia.nocookie.net/warframe/images/e/e6/Site-logo.png";
|
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
|
||||||
definedAliases = [ "@wf" ];
|
|
||||||
};
|
|
||||||
"Bing".metaData.hidden = true;
|
|
||||||
"Google".metaData.hidden = true;
|
|
||||||
"eBay".metaData.hidden = true;
|
|
||||||
"Amazon.de".metaData.hidden = true;
|
|
||||||
"ToS;DR Search".metaData.hidden = true;
|
|
||||||
"LibRedirect".metaData.hidden = true;
|
|
||||||
"Wikipedia (en)".metaData.alias = "@wiki";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
settings = {
|
|
||||||
"privacy.resistFingerprinting" = true;
|
|
||||||
"privacy.trackingprotection.fingerprinting.enabled" = true;
|
|
||||||
"privacy.trackingprotection.cryptomining.enabled" = true;
|
|
||||||
"dom.event.clipboardevents.enabled" = false;
|
|
||||||
"dom.battery.enabled" = false;
|
|
||||||
"browser.safebrowsing.phishing.enabled" = false;
|
|
||||||
"browser.safebrowsing.malware.enabled" = false;
|
|
||||||
"browser.zoom.siteSpecific" = true;
|
|
||||||
"config.trim_on_minimize" = true;
|
|
||||||
"pdfjs.annotationEditorMode" = 0;
|
|
||||||
"pdfjs.annotationMode" = 2;
|
|
||||||
"font.name-list.emoji" = lib.strings.concatStringsSep ", " config.fonts.fontconfig.defaultFonts.emoji;
|
|
||||||
|
|
||||||
## Arkenfox Stuff
|
|
||||||
"browser.aboutConfig.showWarning" = false;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
|
||||||
"extensions.getAddons.showPane" = false;
|
|
||||||
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
|
||||||
"browser.discovery.enabled" = false;
|
|
||||||
"browser.shopping.experience2023.enabled" = false;
|
|
||||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
|
||||||
"datareporting.healthreport.uploadEnabled" = false;
|
|
||||||
"toolkit.telemetry.unified" = false;
|
|
||||||
"toolkit.telemetry.enabled" = false;
|
|
||||||
"toolkit.telemetry.server" = "data:,";
|
|
||||||
"toolkit.telemetry.archive.enabled" = false;
|
|
||||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
|
||||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
|
||||||
"toolkit.telemetry.updatePing.enabled" = false;
|
|
||||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
|
||||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
|
||||||
"toolkit.telemetry.coverage.opt-out" = true;
|
|
||||||
"toolkit.coverage.opt-out" = true;
|
|
||||||
"toolkit.coverage.endpoint.base" = "";
|
|
||||||
"browser.ping-centre.telemetry" = false;
|
|
||||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
|
||||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
|
||||||
"app.shield.optoutstudies.enabled" = false;
|
|
||||||
"app.normandy.enabled" = false;
|
|
||||||
"app.normandy.api_url" = "";
|
|
||||||
"breakpad.reportURL" = "";
|
|
||||||
"browser.tabs.crashReporting.sendReport" = false;
|
|
||||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
|
|
||||||
"captivedetect.canonicalURL" = "";
|
|
||||||
"network.captive-portal-service.enabled" = false;
|
|
||||||
"network.connectivity-service.enabled" = false;
|
|
||||||
"network.prefetch-next" = false;
|
|
||||||
"network.dns.disablePrefetch" = true;
|
|
||||||
"network.predictor.enabled" = false;
|
|
||||||
"network.predictor.enable-prefetch" = false;
|
|
||||||
"network.http.speculative-parallel-limit" = 0;
|
|
||||||
"browser.places.speculativeConnect.enabled" = false;
|
|
||||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
|
||||||
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
|
||||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
|
||||||
"browser.formfill.enable" = false;
|
|
||||||
"browser.download.start_downloads_in_tmp_dir" = true;
|
|
||||||
"browser.uitour.enabled" = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
dev-edition-default = {
|
profiles = {
|
||||||
id = 1;
|
default = {
|
||||||
isDefault = false;
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
name = "dev-edition-default";
|
ublock-origin
|
||||||
path = "default";
|
privacy-badger
|
||||||
|
bitwarden
|
||||||
|
clearurls
|
||||||
|
decentraleyes
|
||||||
|
duckduckgo-privacy-essentials
|
||||||
|
ghostery
|
||||||
|
libredirect
|
||||||
|
privacy-badger
|
||||||
|
languagetool
|
||||||
|
#fastforward
|
||||||
|
return-youtube-dislikes
|
||||||
|
sponsorblock
|
||||||
|
augmented-steam
|
||||||
|
steam-database
|
||||||
|
refined-github
|
||||||
|
plasma-integration
|
||||||
|
#bypass-paywalls-clean
|
||||||
|
lovely-forks
|
||||||
|
search-by-image
|
||||||
|
skip-redirect
|
||||||
|
terms-of-service-didnt-read
|
||||||
|
unpaywall
|
||||||
|
wappalyzer
|
||||||
|
wayback-machine
|
||||||
|
modrinthify
|
||||||
|
];
|
||||||
|
id = 0;
|
||||||
|
isDefault = true;
|
||||||
|
name = "default";
|
||||||
|
search = {
|
||||||
|
default = "DuckDuckGo";
|
||||||
|
force = true;
|
||||||
|
engines = {
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "channel";
|
||||||
|
value = "unstable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
icon =
|
||||||
|
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@np" ];
|
||||||
|
};
|
||||||
|
"NixOS Modules" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://search.nixos.org/options";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "channel";
|
||||||
|
value = "unstable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
icon =
|
||||||
|
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@nm" ];
|
||||||
|
};
|
||||||
|
"NixOS Wiki" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://nixos.wiki/index.php";
|
||||||
|
params = [{
|
||||||
|
name = "search";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}];
|
||||||
|
}];
|
||||||
|
icon =
|
||||||
|
"${hcfg.programs.firefox.profiles.default.search.engines."Nix Packages".icon}";
|
||||||
|
definedAliases = [ "@nw" ];
|
||||||
|
};
|
||||||
|
"Minecraft Wiki" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://minecraft.wiki/";
|
||||||
|
params = [{
|
||||||
|
name = "search";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}];
|
||||||
|
}];
|
||||||
|
iconUpdateURL = "https://minecraft.wiki/images/Wiki.png";
|
||||||
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
|
definedAliases = [ "@mc" ];
|
||||||
|
};
|
||||||
|
"Warframe Wiki" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://warframe.fandom.com/wiki/Special:Search";
|
||||||
|
params = [{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}];
|
||||||
|
}];
|
||||||
|
iconUpdateURL = "https://static.wikia.nocookie.net/warframe/images/e/e6/Site-logo.png";
|
||||||
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
|
definedAliases = [ "@wf" ];
|
||||||
|
};
|
||||||
|
"Bing".metaData.hidden = true;
|
||||||
|
"Google".metaData.hidden = true;
|
||||||
|
"eBay".metaData.hidden = true;
|
||||||
|
"Amazon.de".metaData.hidden = true;
|
||||||
|
"ToS;DR Search".metaData.hidden = true;
|
||||||
|
"LibRedirect".metaData.hidden = true;
|
||||||
|
"Wikipedia (en)".metaData.alias = "@wiki";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
"privacy.resistFingerprinting" = true;
|
||||||
|
"privacy.trackingprotection.fingerprinting.enabled" = true;
|
||||||
|
"privacy.trackingprotection.cryptomining.enabled" = true;
|
||||||
|
"dom.event.clipboardevents.enabled" = false;
|
||||||
|
"dom.battery.enabled" = false;
|
||||||
|
"browser.safebrowsing.phishing.enabled" = false;
|
||||||
|
"browser.safebrowsing.malware.enabled" = false;
|
||||||
|
"browser.zoom.siteSpecific" = true;
|
||||||
|
"config.trim_on_minimize" = true;
|
||||||
|
"pdfjs.annotationEditorMode" = 0;
|
||||||
|
"pdfjs.annotationMode" = 2;
|
||||||
|
"font.name-list.emoji" = lib.strings.concatStringsSep ", " config.fonts.fontconfig.defaultFonts.emoji;
|
||||||
|
|
||||||
|
## Arkenfox Stuff
|
||||||
|
"browser.aboutConfig.showWarning" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
|
"extensions.getAddons.showPane" = false;
|
||||||
|
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
||||||
|
"browser.discovery.enabled" = false;
|
||||||
|
"browser.shopping.experience2023.enabled" = false;
|
||||||
|
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||||
|
"datareporting.healthreport.uploadEnabled" = false;
|
||||||
|
"toolkit.telemetry.unified" = false;
|
||||||
|
"toolkit.telemetry.enabled" = false;
|
||||||
|
"toolkit.telemetry.server" = "data:,";
|
||||||
|
"toolkit.telemetry.archive.enabled" = false;
|
||||||
|
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||||
|
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||||
|
"toolkit.telemetry.updatePing.enabled" = false;
|
||||||
|
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||||
|
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||||
|
"toolkit.telemetry.coverage.opt-out" = true;
|
||||||
|
"toolkit.coverage.opt-out" = true;
|
||||||
|
"toolkit.coverage.endpoint.base" = "";
|
||||||
|
"browser.ping-centre.telemetry" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||||
|
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||||
|
"app.shield.optoutstudies.enabled" = false;
|
||||||
|
"app.normandy.enabled" = false;
|
||||||
|
"app.normandy.api_url" = "";
|
||||||
|
"breakpad.reportURL" = "";
|
||||||
|
"browser.tabs.crashReporting.sendReport" = false;
|
||||||
|
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
|
||||||
|
"captivedetect.canonicalURL" = "";
|
||||||
|
"network.captive-portal-service.enabled" = false;
|
||||||
|
"network.connectivity-service.enabled" = false;
|
||||||
|
"network.prefetch-next" = false;
|
||||||
|
"network.dns.disablePrefetch" = true;
|
||||||
|
"network.predictor.enabled" = false;
|
||||||
|
"network.predictor.enable-prefetch" = false;
|
||||||
|
"network.http.speculative-parallel-limit" = 0;
|
||||||
|
"browser.places.speculativeConnect.enabled" = false;
|
||||||
|
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||||
|
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
||||||
|
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||||
|
"browser.formfill.enable" = false;
|
||||||
|
"browser.download.start_downloads_in_tmp_dir" = true;
|
||||||
|
"browser.uitour.enabled" = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dev-edition-default = {
|
||||||
|
id = 1;
|
||||||
|
isDefault = false;
|
||||||
|
name = "dev-edition-default";
|
||||||
|
path = "default";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
programs.neovim = {
|
||||||
programs.neovim = {
|
enable = true;
|
||||||
enable = true;
|
defaultEditor = true;
|
||||||
defaultEditor = true;
|
extraPackages = with pkgs; [
|
||||||
extraPackages = with pkgs; [
|
clang-tools
|
||||||
clang-tools
|
gcc
|
||||||
gcc
|
gopls
|
||||||
gopls
|
nixd
|
||||||
nixd
|
nodePackages.bash-language-server
|
||||||
nodePackages.bash-language-server
|
vscode-langservers-extracted
|
||||||
vscode-langservers-extracted
|
yaml-language-server
|
||||||
yaml-language-server
|
python3Packages.python-lsp-server
|
||||||
python3Packages.python-lsp-server
|
shellcheck
|
||||||
shellcheck
|
];
|
||||||
];
|
|
||||||
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
nvim-treesitter.withAllGrammars
|
nvim-treesitter.withAllGrammars
|
||||||
nvim-lspconfig
|
nvim-lspconfig
|
||||||
];
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,20 @@
|
||||||
{ ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.jopejoe1.root;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
options.jopejoe1.root = {
|
||||||
|
enable = lib.mkEnableOption "Enable root user";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
users.users.root = {
|
||||||
|
initialPassword = "password";
|
||||||
|
};
|
||||||
|
};
|
||||||
imports = [
|
imports = [
|
||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
users.users.root = {
|
|
||||||
initialPassword = "password";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,83 +1,88 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
let hcfg = config.home-manager.users.root;
|
let
|
||||||
in {
|
cfg = config.jopejoe1.root;
|
||||||
home-manager.users.root = {
|
hcfg = config.home-manager.users.root;
|
||||||
home = {
|
in
|
||||||
# Basic information for home-manager
|
{
|
||||||
username = "root";
|
config = lib.mkIf cfg.enable {
|
||||||
homeDirectory = "/${hcfg.home.username}";
|
home-manager.users.root = {
|
||||||
|
home = {
|
||||||
|
# Basic information for home-manager
|
||||||
|
username = "root";
|
||||||
|
homeDirectory = "/${hcfg.home.username}";
|
||||||
|
|
||||||
# Enviroment variables
|
# Enviroment variables
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos";
|
XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos";
|
||||||
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
|
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
|
||||||
ANDROID_HOME = "${hcfg.xdg.dataHome}/android";
|
ANDROID_HOME = "${hcfg.xdg.dataHome}/android";
|
||||||
CUDA_CACHE_PATH = "${hcfg.xdg.cacheHome}/nv";
|
CUDA_CACHE_PATH = "${hcfg.xdg.cacheHome}/nv";
|
||||||
GRADLE_USER_HOME = "${hcfg.xdg.dataHome}/gradle";
|
GRADLE_USER_HOME = "${hcfg.xdg.dataHome}/gradle";
|
||||||
KODI_DATA = "${hcfg.xdg.dataHome}/kodi";
|
KODI_DATA = "${hcfg.xdg.dataHome}/kodi";
|
||||||
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${hcfg.xdg.configHome}/java";
|
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${hcfg.xdg.configHome}/java";
|
||||||
WINEPREFIX = "${hcfg.xdg.dataHome}/wine";
|
WINEPREFIX = "${hcfg.xdg.dataHome}/wine";
|
||||||
|
};
|
||||||
|
|
||||||
|
stateVersion = config.system.stateVersion;
|
||||||
};
|
};
|
||||||
|
|
||||||
stateVersion = config.system.stateVersion;
|
accounts.email.accounts = {
|
||||||
};
|
main = {
|
||||||
|
address = "johannes@joens.email";
|
||||||
accounts.email.accounts = {
|
flavor = "gmail.com";
|
||||||
main = {
|
primary = true;
|
||||||
address = "johannes@joens.email";
|
realName = "Johannes Joens";
|
||||||
flavor = "gmail.com";
|
thunderbird.enable = true;
|
||||||
primary = true;
|
|
||||||
realName = "Johannes Joens";
|
|
||||||
thunderbird.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# XDG base dirs
|
|
||||||
xdg = {
|
|
||||||
enable = true;
|
|
||||||
mime.enable = true;
|
|
||||||
cacheHome = "${hcfg.home.homeDirectory}/.cache";
|
|
||||||
configHome = "${hcfg.home.homeDirectory}/.config";
|
|
||||||
dataHome = "${hcfg.home.homeDirectory}/.local/share";
|
|
||||||
stateHome = "${hcfg.home.homeDirectory}/.local/state";
|
|
||||||
userDirs = {
|
|
||||||
enable = true;
|
|
||||||
createDirectories = true;
|
|
||||||
desktop = "${hcfg.home.homeDirectory}/Desktop";
|
|
||||||
documents = "${hcfg.home.homeDirectory}/Documents";
|
|
||||||
download = "${hcfg.home.homeDirectory}/Downloads";
|
|
||||||
music = "${hcfg.home.homeDirectory}/Music";
|
|
||||||
pictures = "${hcfg.home.homeDirectory}/Pictures";
|
|
||||||
publicShare = "${hcfg.home.homeDirectory}/Public";
|
|
||||||
templates = "${hcfg.home.homeDirectory}/Templates";
|
|
||||||
videos = "${hcfg.home.homeDirectory}/Videos";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
home-manager.enable = true;
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.git;
|
|
||||||
userEmail = "johannes@joens.email";
|
|
||||||
userName = "jopejoe1";
|
|
||||||
};
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
bash = {
|
|
||||||
enable = true;
|
|
||||||
historyFile = "${hcfg.xdg.stateHome}/bash/history";
|
|
||||||
shellAliases = {
|
|
||||||
gc = "nix store gc";
|
|
||||||
rb = "git -C /etc/nixos pull && nix flake update /etc/nixos/ && sudo nixos-rebuild switch --impure && git -C /etc/nixos add . && git -C /etc/nixos commit -m 'Updated flake.lock' && git -C /etc/nixos push";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
zsh.shellAliases = hcfg.programs.bash.shellAliases;
|
|
||||||
fish.shellAbbrs = hcfg.programs.bash.shellAliases;
|
|
||||||
|
|
||||||
|
# XDG base dirs
|
||||||
|
xdg = {
|
||||||
|
enable = true;
|
||||||
|
mime.enable = true;
|
||||||
|
cacheHome = "${hcfg.home.homeDirectory}/.cache";
|
||||||
|
configHome = "${hcfg.home.homeDirectory}/.config";
|
||||||
|
dataHome = "${hcfg.home.homeDirectory}/.local/share";
|
||||||
|
stateHome = "${hcfg.home.homeDirectory}/.local/state";
|
||||||
|
userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
desktop = "${hcfg.home.homeDirectory}/Desktop";
|
||||||
|
documents = "${hcfg.home.homeDirectory}/Documents";
|
||||||
|
download = "${hcfg.home.homeDirectory}/Downloads";
|
||||||
|
music = "${hcfg.home.homeDirectory}/Music";
|
||||||
|
pictures = "${hcfg.home.homeDirectory}/Pictures";
|
||||||
|
publicShare = "${hcfg.home.homeDirectory}/Public";
|
||||||
|
templates = "${hcfg.home.homeDirectory}/Templates";
|
||||||
|
videos = "${hcfg.home.homeDirectory}/Videos";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
home-manager.enable = true;
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.git;
|
||||||
|
userEmail = "johannes@joens.email";
|
||||||
|
userName = "jopejoe1";
|
||||||
|
};
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
bash = {
|
||||||
|
enable = true;
|
||||||
|
historyFile = "${hcfg.xdg.stateHome}/bash/history";
|
||||||
|
shellAliases = {
|
||||||
|
gc = "nix store gc";
|
||||||
|
rb = "git -C /etc/nixos pull && nix flake update /etc/nixos/ && sudo nixos-rebuild switch --impure && git -C /etc/nixos add . && git -C /etc/nixos commit -m 'Updated flake.lock' && git -C /etc/nixos push";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
zsh.shellAliases = hcfg.programs.bash.shellAliases;
|
||||||
|
fish.shellAbbrs = hcfg.programs.bash.shellAliases;
|
||||||
|
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.peertube = {
|
|
||||||
enable = true;
|
|
||||||
secrets.secretsFile = "/run/secrets/peertube";
|
|
||||||
redis.createLocally = true;
|
|
||||||
database.createLocally = true;
|
|
||||||
localDomain = "peertube.local";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -5,6 +5,16 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
jopejoe1 = {
|
||||||
|
audio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
bluetooth.enable = true;
|
||||||
|
local.enable = true;
|
||||||
|
nix.enable = true;
|
||||||
|
root.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
grub.enable = false;
|
grub.enable = false;
|
||||||
generic-extlinux-compatible.enable = true;
|
generic-extlinux-compatible.enable = true;
|
||||||
|
|
|
@ -6,6 +6,23 @@
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
jopejoe1 = {
|
||||||
|
audio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
bluetooth.enable = true;
|
||||||
|
local.enable = true;
|
||||||
|
nix.enable = true;
|
||||||
|
plasma6.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
steam.enable = true;
|
||||||
|
asf.enable = true;
|
||||||
|
minecraft-server.enable = true;
|
||||||
|
repo-sync.enable = true;
|
||||||
|
jopejoe1.enable = true;
|
||||||
|
root.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
networking.hostName = "kami";
|
networking.hostName = "kami";
|
||||||
networking.hostId = "16c22faf";
|
networking.hostId = "16c22faf";
|
||||||
services.hardware.openrgb.enable = true;
|
services.hardware.openrgb.enable = true;
|
||||||
|
|
|
@ -5,6 +5,17 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
jopejoe1 = {
|
||||||
|
audio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
bluetooth.enable = true;
|
||||||
|
local.enable = true;
|
||||||
|
jopejoe1.enable = true;
|
||||||
|
nix.enable = true;
|
||||||
|
root.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
networking.hostName = "tuny";
|
networking.hostName = "tuny";
|
||||||
boot.loader.grub.device = "/dev/sda";
|
boot.loader.grub.device = "/dev/sda";
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,24 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[
|
||||||
|
# Include the results of the hardware scan.
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
jopejoe1 = {
|
||||||
|
audio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
bluetooth.enable = true;
|
||||||
|
local.enable = true;
|
||||||
|
nix.enable = true;
|
||||||
|
plasma.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
jopejoe1.enable = true;
|
||||||
|
root.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
networking.hostName = "yokai";
|
networking.hostName = "yokai";
|
||||||
networking.hostId = "af13bbec";
|
networking.hostId = "af13bbec";
|
||||||
|
|
||||||
|
@ -17,6 +31,39 @@
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
networking.networkmanager.ensureProfiles.profiles = {
|
||||||
|
"37C3" = {
|
||||||
|
connection = {
|
||||||
|
id = "37C3";
|
||||||
|
type = "wifi";
|
||||||
|
interface-name = "wlan0";
|
||||||
|
};
|
||||||
|
wifi = {
|
||||||
|
mode = "infrastructure";
|
||||||
|
ssid = "37C3";
|
||||||
|
};
|
||||||
|
wifi-security = {
|
||||||
|
auth-alg = "open";
|
||||||
|
key-mgmt = "wpa-eap";
|
||||||
|
};
|
||||||
|
"802-1x" = {
|
||||||
|
anonymous-identity = "37C3";
|
||||||
|
eap = "ttls;";
|
||||||
|
identity = "37C3";
|
||||||
|
password = "37C3";
|
||||||
|
phase2-auth = "mschapv2";
|
||||||
|
};
|
||||||
|
ipv4 = {
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
ipv6 = {
|
||||||
|
addr-gen-mode = "default";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
Loading…
Reference in a new issue