This commit is contained in:
jopejoe1 2023-12-30 23:39:33 +01:00
parent 673524b947
commit 9ad1975f72
33 changed files with 358 additions and 471 deletions

54
flake.lock generated
View file

@ -112,11 +112,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1694102001, "lastModified": 1703887061,
"narHash": "sha256-vky6VPK1n1od6vXbqzOXnekrQpTL4hbPAwUhT5J9c9E=", "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "gitignore.nix", "repo": "gitignore.nix",
"rev": "9e21c80adf67ebcb077d75bd5e7d724d21eeafd6", "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -154,11 +154,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1703072477, "lastModified": 1703838268,
"narHash": "sha256-I2g7o+J26iK3sGk53iuaYiMWryzAYx0zhNQUFzTID/A=", "narHash": "sha256-SRg5nXcdPnrsQR2MTAp7en0NyJnQ2wB1ivmsgEbvN+o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "433120e47d016c9960dd9c2b1821e97d223a6a39", "rev": "2aff324cf65f5f98f89d878c056b779466b17db8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -195,11 +195,11 @@
"pre-commit-hooks": "pre-commit-hooks" "pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1702626673, "lastModified": 1703361984,
"narHash": "sha256-+LQZd7Cy6LJiasTLl2Mt4PFS4I4dqv0b6lfeMOSHUTs=", "narHash": "sha256-3pZJY6h2OsmLi9iA6vHLYrlOcv3OK4ZCX9ljw66Q5xc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "kde2nix", "repo": "kde2nix",
"rev": "f0fb2b97ea101320ba5d6d46d6fa0eb356d589e2", "rev": "cc627fe32d9283205592574208ae4fcdf93d3414",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -308,11 +308,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1702453208, "lastModified": 1703879120,
"narHash": "sha256-0wRi9SposfE2wHqjuKt8WO2izKB/ASDOV91URunIqgo=", "narHash": "sha256-oMJ5xtDswlBWxs0DT/aYKEUIhjEpGZJ9GbIxOclYP8I=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "7763c6fd1f299cb9361ff2abf755ed9619ef01d6", "rev": "22ae59fec26591ef72ce4ccb5538c42c5f090fe3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -340,11 +340,11 @@
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"dir": "lib", "dir": "lib",
"lastModified": 1703013332, "lastModified": 1703637592,
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", "narHash": "sha256-8MXjxU0RfFfzl57Zy3OfXCITS0qWDNLzlBAdwxGZwfY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", "rev": "cfc3698c31b1fb9cdcf10f36c9643460264d0ca8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -373,11 +373,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1703013332, "lastModified": 1703637592,
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", "narHash": "sha256-8MXjxU0RfFfzl57Zy3OfXCITS0qWDNLzlBAdwxGZwfY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", "rev": "cfc3698c31b1fb9cdcf10f36c9643460264d0ca8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -389,11 +389,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1703090758, "lastModified": 1703961491,
"narHash": "sha256-gYoLxlB+w+N+G4bLeu76MYSoBCZgC00of4kM4dIDI3o=", "narHash": "sha256-S1QGhwCsJs7QEt4AL0rRlmSbY6+wSfyjwu5tYOZ2rJQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "f133fc54e2a2495d19f6020120717240068ce0f3", "rev": "945e1bb3d8888a3bb2dcf7cfe29e650335055399",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -449,11 +449,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1702456155, "lastModified": 1703939133,
"narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=", "narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc", "rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -496,11 +496,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1702985085, "lastModified": 1703789314,
"narHash": "sha256-ycdWlf+hvYialN4gqvFcW1GJatRaMZhJmzdLa80qxws=", "narHash": "sha256-IaOJ1B2qYE9mvhtfZ0EPCD7kSR6AjosjwpwfItFFLUA=",
"owner": "PrismLauncher", "owner": "PrismLauncher",
"repo": "PrismLauncher", "repo": "PrismLauncher",
"rev": "e39a03421a6e8cdf58f8b5d98388b9eef55d44b7", "rev": "0ce076984285d161052f882fc47c90192e021f51",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,11 +5,11 @@
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= { jovian = {
url = "github:Jovian-Experiments/Jovian-NixOS"; url = "github:Jovian-Experiments/Jovian-NixOS";
inputs.nixpkgs.follows = "nixpkgs"; 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";
}; };
@ -28,7 +28,6 @@
flake = false; flake = false;
}; };
# Dependencys # Dependencys
flake-parts = { flake-parts = {
url = "github:hercules-ci/flake-parts"; url = "github:hercules-ci/flake-parts";
@ -72,16 +71,13 @@
# Patches # Patches
prism-game-options-patch = { prism-game-options-patch = {
url = "https://patch-diff.githubusercontent.com/raw/PrismLauncher/PrismLauncher/pull/907.patch"; url =
"https://patch-diff.githubusercontent.com/raw/PrismLauncher/PrismLauncher/pull/907.patch";
flake = false; flake = false;
}; };
}; };
outputs = inputs@{ outputs = inputs@{ nixpkgs, nixos-hardware, ... }: {
nixpkgs,
nixos-hardware,
...
}: {
nixosConfigurations = { nixosConfigurations = {
kami = nixpkgs.lib.nixosSystem { kami = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
@ -133,11 +129,7 @@
steamdeck = nixpkgs.lib.nixosSystem { steamdeck = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = inputs; specialArgs = inputs;
modules = [ modules = [ ./systems/steamdeck ./modules ./overlays ];
./systems/steamdeck
./modules
./overlays
];
}; };
}; };
}; };

View file

@ -1,12 +1,8 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
let let cfg = config.jopejoe1.asf;
cfg = config.jopejoe1.asf; in {
in options.jopejoe1.asf = { enable = lib.mkEnableOption "Enable ASF"; };
{
options.jopejoe1.asf = {
enable = lib.mkEnableOption "Enable ASF";
};
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.archisteamfarm = { services.archisteamfarm = {

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let cfg = config.jopejoe1.audio;
cfg = config.jopejoe1.audio; in {
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";
@ -34,7 +32,8 @@ in
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;

View file

@ -1,9 +1,7 @@
{ pkgs, config, lib, ... }: { config, lib, ... }:
let let cfg = config.jopejoe1.audio;
cfg = config.jopejoe1.audio; in {
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" = {
@ -30,7 +28,7 @@ in
label = "bq_lowshelf"; label = "bq_lowshelf";
control = { control = {
"Freq" = 105.0; "Freq" = 105.0;
"Q" = 0.70; "Q" = 0.7;
"Gain" = 6.5; "Gain" = 6.5;
}; };
} }
@ -185,4 +183,3 @@ in
}; };
} }

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let cfg = config.jopejoe1.auto-update;
cfg = config.jopejoe1.auto-update; in {
in
{
options.jopejoe1.auto-update = { options.jopejoe1.auto-update = {
enable = lib.mkEnableOption "Enable Auto-Updates"; enable = lib.mkEnableOption "Enable Auto-Updates";
}; };
@ -12,7 +10,15 @@ in
system.autoUpgrade = { system.autoUpgrade = {
enable = true; enable = true;
randomizedDelaySec = "30min"; 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"; 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"; dates = "hourly";
}; };
}; };

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
let let cfg = config.jopejoe1.bluetooth;
cfg = config.jopejoe1.bluetooth; in {
in
{
options.jopejoe1.bluetooth = { options.jopejoe1.bluetooth = {
enable = lib.mkEnableOption "Enable Bluetooth"; enable = lib.mkEnableOption "Enable Bluetooth";
}; };

View file

@ -6,6 +6,7 @@
./audio ./audio
./auto-update ./auto-update
./bluetooth ./bluetooth
./events
./local ./local
./minecraft-server ./minecraft-server
./moodle-dl ./moodle-dl
@ -16,8 +17,8 @@
./repo-sync ./repo-sync
./steam ./steam
./users ./users
self.inputs.home-manager.nixosModules.home-manager
self.inputs.kde2nix.nixosModules.plasma6 self.inputs.kde2nix.nixosModules.plasma6
self.inputs.nur.nixosModules.nur self.inputs.nur.nixosModules.nur
self.inputs.home-manager.nixosModules.home-manager
]; ];
} }

View file

@ -0,0 +1,55 @@
{ config, lib, ... }:
let cfg = config.events."37c3";
in {
options.events."37c3" = {
enable = lib.mkEnableOption "Enable settings for the 37c3 event";
};
config = lib.mkIf cfg.enable {
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";
};
};
networking.wireless.networks."37C3".auth = ''
key_mgmt=WPA-EAP
eap=TTLS
identity="37C3"
password="37C3"
ca_cert="${
builtins.fetchurl {
url = "https://letsencrypt.org/certs/isrgrootx1.pem";
sha256 =
"sha256:1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92";
}
}"
altsubject_match="DNS:radius.c3noc.net"
phase2="auth=PAP"
'';
};
};
}

View file

@ -0,0 +1,5 @@
{ ... }:
{
imports = [ ./37c3 ];
}

View file

@ -1,12 +1,8 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let cfg = config.jopejoe1.local;
cfg = config.jopejoe1.local; in {
in options.jopejoe1.local = { enable = lib.mkEnableOption "Enable Locals"; };
{
options.jopejoe1.local = {
enable = lib.mkEnableOption "Enable Locals";
};
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
xdg = { xdg = {
@ -39,9 +35,7 @@ in
}; };
}; };
environment.variables = { environment.variables = { LOG_ICONS = "true"; };
LOG_ICONS = "true";
};
fonts.fontDir.enable = true; fonts.fontDir.enable = true;
}; };

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
let let cfg = config.jopejoe1.minecraft-server;
cfg = config.jopejoe1.minecraft-server; in {
in
{
options.jopejoe1.minecraft-server = { options.jopejoe1.minecraft-server = {
enable = lib.mkEnableOption "Enable Bluetooth"; enable = lib.mkEnableOption "Enable Bluetooth";
}; };
@ -18,7 +16,8 @@ in
difficulty = 3; difficulty = 3;
enable-rcon = true; enable-rcon = true;
"rcon.password" = "test"; "rcon.password" = "test";
motd = "\\u00A7cWake up to reality! Nothing ever goes as planned in this accursed world."; motd =
"\\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";

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let cfg = config.jopejoe1.moodle-dl;
cfg = config.jopejoe1.moodle-dl; in {
in
{
options.jopejoe1.moodle-dl = { options.jopejoe1.moodle-dl = {
enable = lib.mkEnableOption "Enable moodle-dl"; enable = lib.mkEnableOption "Enable moodle-dl";
}; };
@ -22,7 +20,9 @@ in
script = '' script = ''
${lib.getExe pkgs.moodle-dl} --path /var/moodle-dl ${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 add .
${lib.getExe pkgs.git} -C /var/moodle-dl commit -m "moodle-dl updated on `$(${pkgs.coreutils}/bin/date)`" ${
lib.getExe pkgs.git
} -C /var/moodle-dl commit -m "moodle-dl updated on `$(${pkgs.coreutils}/bin/date)`"
''; '';
path = [ pkgs.openssh ]; path = [ pkgs.openssh ];
serviceConfig = { serviceConfig = {

View file

@ -1,20 +1,14 @@
{ config, lib, pkgs, self, ... }: { config, lib, pkgs, self, ... }:
let let cfg = config.jopejoe1.nix;
cfg = config.jopejoe1.nix; in {
in options.jopejoe1.nix = { enable = lib.mkEnableOption "Enable Nix"; };
{
options.jopejoe1.nix = {
enable = lib.mkEnableOption "Enable Nix";
};
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
nix = { nix = {
settings = { settings = {
substituters = [ substituters =
"https://cache.nixos.org" [ "https://cache.nixos.org" "https://nix-community.cachix.org" ];
"https://nix-community.cachix.org"
];
trusted-public-keys = [ trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
@ -36,7 +30,11 @@ in
nur.flake = self.inputs.nur; nur.flake = self.inputs.nur;
nixpkgs.flake = self.inputs.nixpkgs; nixpkgs.flake = self.inputs.nixpkgs;
}; };
nixPath = [ "nixpkgs=${self.inputs.nixpkgs}" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; nixPath = [
"nixpkgs=${self.inputs.nixpkgs}"
"nixos-config=/etc/nixos/configuration.nix"
"/nix/var/nix/profiles/per-user/root/channels"
];
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
let let cfg = config.jopejoe1.plasma6;
cfg = config.jopejoe1.plasma6; in {
in
{
options.jopejoe1.plasma6 = { options.jopejoe1.plasma6 = {
enable = lib.mkEnableOption "Enable KDE Plasma 6"; enable = lib.mkEnableOption "Enable KDE Plasma 6";
}; };
@ -19,15 +17,13 @@ in
enable = true; enable = true;
enableHidpi = true; enableHidpi = true;
}; };
desktopManager.plasma6 = { desktopManager.plasma6 = { enable = true; };
enable = true;
};
}; };
}; };
programs.kdeconnect = { programs.kdeconnect = { enable = true; };
enable = true;
}; networking.networkmanager.enable = true;
}; };
} }

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
let let cfg = config.jopejoe1.plasma;
cfg = config.jopejoe1.plasma; in {
in
{
options.jopejoe1.plasma = { options.jopejoe1.plasma = {
enable = lib.mkEnableOption "Enable KDE Plasma"; enable = lib.mkEnableOption "Enable KDE Plasma";
}; };
@ -26,9 +24,9 @@ in
}; };
}; };
programs.kdeconnect = { programs.kdeconnect = { enable = true; };
enable = true;
}; networking.networkmanager.enable = true;
}; };
} }

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let cfg = config.jopejoe1.printing;
cfg = config.jopejoe1.printing; in {
in
{
options.jopejoe1.printing = { options.jopejoe1.printing = {
enable = lib.mkEnableOption "Enable Printing"; enable = lib.mkEnableOption "Enable Printing";
}; };

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let cfg = config.jopejoe1.repo-sync;
cfg = config.jopejoe1.repo-sync; in {
in
{
options.jopejoe1.repo-sync = { options.jopejoe1.repo-sync = {
enable = lib.mkEnableOption "Enable Repo Sync"; enable = lib.mkEnableOption "Enable Repo Sync";
}; };
@ -20,13 +18,21 @@ in
systemd.services."repo-sync" = { systemd.services."repo-sync" = {
script = '' 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
${lib.getExe pkgs.git} -C /var/lib/repo-sync remote add gitlab git@gitlab.com:jopejoe1/nix-conf.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 github main
${lib.getExe pkgs.git} -C /var/lib/repo-sync pull -r gitlab 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.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 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 origin
${lib.getExe pkgs.git} -C /var/lib/repo-sync push github ${lib.getExe pkgs.git} -C /var/lib/repo-sync push github
${lib.getExe pkgs.git} -C /var/lib/repo-sync push gitlab ${lib.getExe pkgs.git} -C /var/lib/repo-sync push gitlab

View file

@ -1,12 +1,8 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
let let cfg = config.jopejoe1.steam;
cfg = config.jopejoe1.steam; in {
in options.jopejoe1.steam = { enable = lib.mkEnableOption "Enable Steam"; };
{
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;

View file

@ -1,8 +1,5 @@
{ ... }: { ... }:
{ {
imports = [ imports = [ ./root ./jopejoe1 ];
./root
./jopejoe1
];
} }

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let cfg = config.jopejoe1.jopejoe1;
cfg = config.jopejoe1.jopejoe1; in {
in
{
options.jopejoe1.jopejoe1 = { options.jopejoe1.jopejoe1 = {
enable = lib.mkEnableOption "Enable jopejoe1 user"; enable = lib.mkEnableOption "Enable jopejoe1 user";
}; };
@ -15,11 +13,9 @@ in
initialPassword = "passwor"; initialPassword = "passwor";
extraGroups = [ "wheel" "networkmanager" "pipewire" "audio" ]; extraGroups = [ "wheel" "networkmanager" "pipewire" "audio" ];
uid = 1000; uid = 1000;
packages = with pkgs; [ packages = with pkgs;
libsForQt5.kate [ libsForQt5.kate libsForQt5.ark texlive.combined.scheme-full ]
libsForQt5.ark ++ lib.optionals (config.system == "x86_64-linux") [
texlive.combined.scheme-full
] ++ lib.optionals (config.system == "x86_64-linux") [
discord discord
lutris lutris
bottles bottles

View file

@ -20,7 +20,8 @@ in
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";
}; };
@ -79,11 +80,7 @@ in
userName = "jopejoe1"; userName = "jopejoe1";
extraConfig = { extraConfig = {
core = { core = {
whitespace = [ whitespace = [ "blank-at-eol" "blank-at-eof" "space-before-tab" ];
"blank-at-eol"
"blank-at-eof"
"space-before-tab"
];
}; };
}; };
}; };
@ -332,13 +329,15 @@ in
}; };
"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"; name = "query";
value = "{searchTerms}"; 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" ];
}; };
@ -363,12 +362,14 @@ in
"config.trim_on_minimize" = true; "config.trim_on_minimize" = true;
"pdfjs.annotationEditorMode" = 0; "pdfjs.annotationEditorMode" = 0;
"pdfjs.annotationMode" = 2; "pdfjs.annotationMode" = 2;
"font.name-list.emoji" = lib.strings.concatStringsSep ", " config.fonts.fontconfig.defaultFonts.emoji; "font.name-list.emoji" = lib.strings.concatStringsSep ", "
config.fonts.fontconfig.defaultFonts.emoji;
## Arkenfox Stuff ## Arkenfox Stuff
"browser.aboutConfig.showWarning" = false; "browser.aboutConfig.showWarning" = false;
"browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" =
false;
"extensions.getAddons.showPane" = false; "extensions.getAddons.showPane" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false; "extensions.htmlaboutaddons.recommendations.enabled" = false;
"browser.discovery.enabled" = false; "browser.discovery.enabled" = false;

View file

@ -1,20 +1,12 @@
{ config, lib, pkgs, ... }: { config, lib, ... }:
let let cfg = config.jopejoe1.root;
cfg = config.jopejoe1.root; in {
in options.jopejoe1.root = { enable = lib.mkEnableOption "Enable root user"; };
{
options.jopejoe1.root = {
enable = lib.mkEnableOption "Enable root user";
};
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
users.users.root = { users.users.root = { initialPassword = "password"; };
initialPassword = "password";
}; };
}; imports = [ ./home.nix ];
imports = [
./home.nix
];
} }

View file

@ -20,7 +20,8 @@ in
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";
}; };
@ -76,7 +77,8 @@ in
historyFile = "${hcfg.xdg.stateHome}/bash/history"; historyFile = "${hcfg.xdg.stateHome}/bash/history";
shellAliases = { shellAliases = {
gc = "nix store gc"; 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"; 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; zsh.shellAliases = hcfg.programs.bash.shellAliases;

View file

@ -1,4 +1,4 @@
{ prismlauncher, nur, self, pkgs, config, ... }: { prismlauncher, nur, self, config, ... }:
{ {
nixpkgs = { nixpkgs = {
@ -10,12 +10,11 @@
(_self: super: rec { (_self: super: rec {
tela-icon-theme = super.tela-icon-theme.overrideAttrs (_old: { tela-icon-theme = super.tela-icon-theme.overrideAttrs
src = self.inputs.tela-icon-theme; (_old: { src = self.inputs.tela-icon-theme; });
});
prismlauncher = super.prismlauncher.overrideAttrs (old: { prismlauncher = super.prismlauncher.overrideAttrs (old: {
patches = (old.patches or []) ++ [ patches = (old.patches or [ ]) ++ [
self.inputs.prism-game-options-patch self.inputs.prism-game-options-patch
../patches/prism-ftb.patch ../patches/prism-ftb.patch
]; ];
@ -24,23 +23,22 @@
#noto-fonts-color-emoji = pkgs.noto-fonts-color-emoji_withExtraFlags; #noto-fonts-color-emoji = pkgs.noto-fonts-color-emoji_withExtraFlags;
libadwaita = super.libadwaita.overrideAttrs (old: { libadwaita = super.libadwaita.overrideAttrs (old: {
patches = (old.patches or []) ++ [ patches = (old.patches or [ ])
../patches/adwaita-theming-support.patch ++ [ ../patches/adwaita-theming-support.patch ];
];
doCheck = false; doCheck = false;
}); });
discord = (super.discord.overrideAttrs (old: { discord = (super.discord.overrideAttrs (old: {
desktopItem = old.desktopItem.override (old: { exec = old.exec + " --disable-gpu-sandbox"; }); desktopItem = old.desktopItem.override
(old: { exec = old.exec + " --disable-gpu-sandbox"; });
})).override { })).override {
withOpenASAR = true; withOpenASAR = true;
withVencord = true; withVencord = true;
withTTS = true; withTTS = true;
}; };
catppuccin-plymouth = super.catppuccin-plymouth.override { catppuccin-plymouth =
variant = "frappe"; super.catppuccin-plymouth.override { variant = "frappe"; };
};
}) })
]; ];
}; };

View file

@ -1,26 +1,39 @@
{ ... }: { modulesPath, lib, ... }:
{ {
imports = [ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
./hardware-configuration.nix
]; boot = {
initrd = { availableKernelModules = [ "xhci_pci" ]; };
loader = { generic-extlinux-compatible.enable = true; };
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
fsType = "ext4";
};
hardware.raspberry-pi."4".fkms-3d.enable = true;
jopejoe1 = { jopejoe1 = {
audio = { audio.enable = true;
enable = true;
};
bluetooth.enable = true; bluetooth.enable = true;
local.enable = true; local.enable = true;
nix.enable = true; nix.enable = true;
root.enable = true; root.enable = true;
}; };
boot.loader = { networking = {
grub.enable = false; hostName = "inugami";
generic-extlinux-compatible.enable = true; useDHCP = lib.mkDefault true;
}; };
networking.hostName = "inugami"; nixpkgs.hostPlatform = {
system = "aarch64-linux";
config = "aarch64-unknown-linux-gnu";
};
powerManagement.cpuFreqGovernor = "ondemand";
programs = { programs = {
git = { git = {
@ -28,6 +41,4 @@
lfs.enable = true; lfs.enable = true;
}; };
}; };
hardware.raspberry-pi."4".fkms-3d.enable = true;
} }

View file

@ -1,23 +0,0 @@
{ modulesPath, lib, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd = {
availableKernelModules = [ "xhci_pci"];
};
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
fsType = "ext4";
};
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = "aarch64-linux";
powerManagement.cpuFreqGovernor = "ondemand";
}

View file

@ -1,10 +1,7 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
{ {
imports = imports = [ ./hardware.nix ];
[ # Include the results of the hardware scan.
./hardware.nix
];
jopejoe1 = { jopejoe1 = {
audio = { audio = {
@ -24,75 +21,71 @@
root.enable = true; root.enable = true;
}; };
networking.hostName = "kami"; networking = {
networking.hostId = "16c22faf"; hostName = "kami";
services.hardware.openrgb.enable = true; hostId = "16c22faf";
services.fwupd.enable = true;
nixpkgs.config = {
cudaSupport = true;
allowAliases = false;
allowUnfree = true;
}; };
services.xserver.desktopManager.kodi.enable = true; services = {
hardware.openrgb.enable = true;
fwupd.enable = true;
xserver = {
videoDrivers = [ "nvidia" ];
layout = "de";
};
};
boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; nixpkgs = {
config = { cudaSupport = true; };
hostPlatform = {
system = "x86_64-linux";
config = "x86_64-unknown-linux-gnu";
# gcc.arch = "alderlake";
};
};
#boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; boot = {
boot.kernelPackages = pkgs.linuxPackages_testing; kernelPackages = pkgs.linuxPackages_testing;
networking.networkmanager.enable = true; loader = {
systemd-boot = {
enable = true;
configurationLimit = 10;
editor = false;
};
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
};
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
services.xserver.videoDrivers = [ "nvidia" ]; hardware = {
hardware.opengl.enable = true; opengl = {
hardware.opengl.driSupport32Bit = true; enable = true;
driSupport32Bit = true;
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; };
nvidia = {
services.logmein-hamachi.enable = true; package = config.boot.kernelPackages.nvidiaPackages.stable;
programs.haguichi.enable = true; modesetting.enable = true;
};
#boot.kernelParams = [ "module_blacklist=i915" ]; };
fonts.packages = with pkgs; [
google-fonts
noto-fonts
noto-fonts-color-emoji
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji-blob-bin
nerdfonts
league-of-moveable-type
twitter-color-emoji
];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
mcrcon
prismlauncher prismlauncher
libsForQt5.discover
skypeforlinux
jetbrains.pycharm-community
jetbrains.idea-community
carla
#devolo-dlan-cockpit
libsForQt5.qtstyleplugin-kvantum
mixxx mixxx
picard picard
mangohud mangohud
goverlay goverlay
strawberry strawberry
whatsapp-for-linux whatsapp-for-linux
qdirstat
teams-for-linux teams-for-linux
webex webex
discord discord
element-desktop element-desktop
mumble mumble
(python3.withPackages(ps: with ps; [ beautifulsoup4 requests]))
# Theming # Theming
catppuccin-kvantum catppuccin-kvantum
catppuccin-kde catppuccin-kde
@ -100,19 +93,10 @@
tela-icon-theme tela-icon-theme
]; ];
programs.java = {
enable = true;
binfmt = true;
};
hardware.nvidia.modesetting.enable = true;
services.flatpak.enable = true;
programs = { programs = {
dconf.enable = true; dconf.enable = true;
droidcam.enable = true; droidcam.enable = true;
#sysdig.enable = true; sysdig.enable = true;
xwayland.enable = true; xwayland.enable = true;
kdeconnect.enable = true; kdeconnect.enable = true;
gamemode.enable = true; gamemode.enable = true;
@ -125,31 +109,9 @@
enable = true; enable = true;
keyMap = "de"; keyMap = "de";
}; };
services.xserver = {
layout = "de";
};
#boot.plymouth = { nix.settings.system-features =
# enable = true; [ "gccarch-alderlake" "benchmark" "big-parallel" "kvm" "nixos-test" ];
#themePackages = [ pkgs.catppuccin-plymouth ]; systemd.services.nix-daemon.serviceConfig.LimitNOFILE =
#theme = "catppuccin-frappe"; lib.mkForce 1048576000;
# };
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
boot.loader.systemd-boot.configurationLimit = 10;
# https://github.com/NixOS/nixpkgs/blob/c32c39d6f3b1fe6514598fa40ad2cf9ce22c3fb7/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix#L66
boot.loader.systemd-boot.editor = false;
# Re-Compile everything for my specific cpu
nix.settings.system-features = ["gccarch-alderlake" "benchmark" "big-parallel" "kvm" "nixos-test"];
systemd.services.nix-daemon.serviceConfig.LimitNOFILE = lib.mkForce 1048576000;
nixpkgs.hostPlatform = {
system = "x86_64-linux";
config = "x86_64-unknown-linux-gnu";
# gcc.arch = "alderlake";
};
} }

View file

@ -4,8 +4,7 @@
{ config, lib, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
];
hardware.nvidia.prime = { hardware.nvidia.prime = {
offload.enable = false; offload.enable = false;
@ -18,7 +17,8 @@
nvidiaBusId = "PCI:1:0:0"; nvidiaBusId = "PCI:1:0:0";
}; };
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" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
@ -51,7 +51,7 @@
"/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" ];
}; };
#"/media/zfs" = { #"/media/zfs" = {
# device = "jopejoe1"; # device = "jopejoe1";
@ -71,5 +71,6 @@
#nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; #nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -1,14 +1,10 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [ imports = [ ./hardware-configuration.nix ];
./hardware-configuration.nix
];
jopejoe1 = { jopejoe1 = {
audio = { audio = { enable = true; };
enable = true;
};
bluetooth.enable = true; bluetooth.enable = true;
local.enable = true; local.enable = true;
jopejoe1.enable = true; jopejoe1.enable = true;
@ -16,7 +12,7 @@
root.enable = true; root.enable = true;
}; };
networking.hostName = "tuny"; networking = { hostName = "tuny"; };
boot.loader.grub.device = "/dev/sda"; boot.loader.grub.device = "/dev/sda";
programs = { programs = {
@ -26,35 +22,7 @@
}; };
}; };
users.users.musicp = { environment.systemPackages = with pkgs; [ mixxx ];
isNormalUser = true;
description = "Music Player";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
firefox
];
};
environment.systemPackages = with pkgs; [
mixxx
];
networking.networkmanager.enable = true;
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Enable automatic login for the user.
services.xserver.displayManager.autoLogin.enable = true;
services.xserver.displayManager.autoLogin.user = "musicp";
# Workaround for GNOME autologin: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229
systemd.services."getty@tty1".enable = false;
systemd.services."autovt@tty1".enable = false;
} }

View file

@ -1,26 +1,32 @@
# 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, pkgs, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sr_mod" "sdhci_pci" "rtsx_pci_sdmmc" ]; boot.initrd.availableKernelModules = [
"xhci_pci"
"ehci_pci"
"ahci"
"usb_storage"
"sd_mod"
"sr_mod"
"sdhci_pci"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/1cae8f88-5db6-4c97-88e4-350c35275d5c"; device = "/dev/disk/by-uuid/1cae8f88-5db6-4c97-88e4-350c35275d5c";
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"; }];
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
@ -31,5 +37,6 @@
# networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -1,16 +1,10 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = imports = [ ./hardware.nix ];
[
# Include the results of the hardware scan.
./hardware.nix
];
jopejoe1 = { jopejoe1 = {
audio = { audio = { enable = true; };
enable = true;
};
bluetooth.enable = true; bluetooth.enable = true;
local.enable = true; local.enable = true;
nix.enable = true; nix.enable = true;
@ -20,75 +14,22 @@
root.enable = true; root.enable = true;
}; };
networking.hostName = "yokai"; networking = {
networking.hostId = "af13bbec"; hostName = "yokai";
hostId = "af13bbec";
boot.supportedFilesystems = [ "ntfs" "btrfs" "zfs" ]; };
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
hardware.opengl.enable = true; hardware.opengl.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; [
git
# Theming
catppuccin-kvantum catppuccin-kvantum
catppuccin-kde catppuccin-kde
catppuccin-gtk catppuccin-gtk
tela-icon-theme tela-icon-theme
# Fonts
#google-fonts
noto-fonts
noto-fonts-emoji
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji-blob-bin
#nerdfonts
#league-of-moveable-type
twitter-color-emoji
]; ];
services.flatpak.enable = true;
programs = { programs = {
droidcam.enable = true; droidcam.enable = true;
dconf.enable = true; dconf.enable = true;
@ -99,15 +40,16 @@
enable = true; enable = true;
keyMap = "us"; keyMap = "us";
}; };
services.xserver = { services.xserver = { layout = "us"; };
layout = "us";
};
boot.loader = { boot = {
grub.enable = false; supportedFilesystems = [ "ntfs" "btrfs" "zfs" ];
kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
loader = {
generic-extlinux-compatible.enable = true; generic-extlinux-compatible.enable = true;
systemd-boot.configurationLimit = 10; systemd-boot.configurationLimit = 10;
systemd-boot.editor = false; systemd-boot.editor = false;
}; };
};
} }

View file

@ -4,26 +4,25 @@
{ lib, modulesPath, ... }: { lib, modulesPath, ... }:
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
];
boot.initrd.availableKernelModules = [ "usbhid" ]; boot.initrd.availableKernelModules = [ "usbhid" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-label/NIXROOT"; device = "/dev/disk/by-label/NIXROOT";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-label/NIXBOOT"; device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ { swapDevices = [{
device = "/var/lib/swapfile"; device = "/var/lib/swapfile";
size = (4*1024)+(2*1024); size = (4 * 1024) + (2 * 1024);
} ]; }];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's