mirror of
https://codeberg.org/jopejoe1/nix-conf.git
synced 2025-01-01 18:06:33 +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"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
|
@ -395,6 +416,28 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -638,6 +681,7 @@
|
|||
"flake-utils": "flake-utils",
|
||||
"gitignore": "gitignore",
|
||||
"home-manager": "home-manager",
|
||||
"jovian": "jovian",
|
||||
"kde2nix": "kde2nix",
|
||||
"libnbtplusplus": "libnbtplusplus",
|
||||
"nix-empty-flake": "nix-empty-flake",
|
||||
|
|
90
flake.nix
90
flake.nix
|
@ -2,10 +2,13 @@
|
|||
description = "jopejoe1 NixOS configuration";
|
||||
|
||||
inputs = {
|
||||
#nixpkgs.url = "/home/jopejoe1/dev/nixpkgs/";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
kde2nix.url = "github:nix-community/kde2nix";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
jovian= {
|
||||
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager= {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -24,21 +27,6 @@
|
|||
url = "github:vinceliuice/Tela-icon-theme";
|
||||
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
|
||||
|
@ -91,11 +79,7 @@
|
|||
|
||||
outputs = inputs@{
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
nur,
|
||||
nixos-hardware,
|
||||
stylix,
|
||||
kde2nix,
|
||||
...
|
||||
}: {
|
||||
nixosConfigurations = {
|
||||
|
@ -104,24 +88,7 @@
|
|||
specialArgs = inputs;
|
||||
modules = [
|
||||
./systems/kami
|
||||
./modules/audio
|
||||
./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
|
||||
./modules
|
||||
./overlays
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-gpu-intel
|
||||
|
@ -129,11 +96,6 @@
|
|||
nixos-hardware.nixosModules.common-pc
|
||||
nixos-hardware.nixosModules.common-hidpi
|
||||
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 {
|
||||
|
@ -141,20 +103,9 @@
|
|||
specialArgs = inputs;
|
||||
modules = [
|
||||
./systems/yokai
|
||||
./modules/audio
|
||||
./modules/bluetooth
|
||||
./modules/local
|
||||
./modules/nix
|
||||
./modules/plasma
|
||||
./modules/printing
|
||||
#./modules/ssh
|
||||
./modules/users/jopejoe1
|
||||
./modules/users/root
|
||||
./modules
|
||||
./overlays
|
||||
nixos-hardware.nixosModules.pine64-pinebook-pro
|
||||
nur.nixosModules.nur
|
||||
home-manager.nixosModules.home-manager
|
||||
#nyx.nixosModules.default
|
||||
];
|
||||
};
|
||||
inugami = nixpkgs.lib.nixosSystem {
|
||||
|
@ -162,17 +113,9 @@
|
|||
specialArgs = inputs;
|
||||
modules = [
|
||||
./systems/inugami
|
||||
./modules/audio
|
||||
./modules/bluetooth
|
||||
./modules/local
|
||||
./modules/nix
|
||||
./modules/kodi
|
||||
./modules/auto-update
|
||||
./modules
|
||||
./overlays
|
||||
nixos-hardware.nixosModules.raspberry-pi-4
|
||||
nur.nixosModules.nur
|
||||
home-manager.nixosModules.home-manager
|
||||
#nyx.nixosModules.default
|
||||
];
|
||||
};
|
||||
tuny = nixpkgs.lib.nixosSystem {
|
||||
|
@ -180,19 +123,20 @@
|
|||
specialArgs = inputs;
|
||||
modules = [
|
||||
./systems/tuny
|
||||
./modules/audio
|
||||
./modules/bluetooth
|
||||
./modules/local
|
||||
./modules/nix
|
||||
./modules/auto-update
|
||||
#./overlays
|
||||
./modules
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
#nixos-hardware.nixosModules.common-gpu-nvidia
|
||||
nixos-hardware.nixosModules.common-pc-laptop
|
||||
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,6 +1,14 @@
|
|||
{ ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.asf;
|
||||
in
|
||||
{
|
||||
options.jopejoe1.asf = {
|
||||
enable = lib.mkEnableOption "Enable ASF";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.archisteamfarm = {
|
||||
enable = true;
|
||||
web-ui.enable = true;
|
||||
|
@ -21,4 +29,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
{ pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.audio;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./sennheiser-hd660s.nix
|
||||
];
|
||||
options.jopejoe1.audio = {
|
||||
enable = lib.mkEnableOption "Enable Audio";
|
||||
sennheiser-hd-660s = lib.mkEnableOption "Equalizer for Sennheiser HD 660S";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services.pipewire = {
|
||||
|
@ -52,7 +57,7 @@
|
|||
}];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hardware.pulseaudio.enable = false;
|
||||
imports = [ ./sennheiser-hd660s.nix ];
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ pkgs, ... }:
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.audio;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.sennheiser-hd-660s {
|
||||
services.pipewire = {
|
||||
extraConfig.pipewire."20-Senheiser-HD660S" = {
|
||||
"context.modules" = [{
|
||||
|
@ -178,6 +182,7 @@
|
|||
}];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.auto-update;
|
||||
in
|
||||
{
|
||||
options.jopejoe1.auto-update = {
|
||||
enable = lib.mkEnableOption "Enable Auto-Updates";
|
||||
};
|
||||
|
||||
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
|
||||
{
|
||||
options.jopejoe1.bluetooth = {
|
||||
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,6 +1,14 @@
|
|||
{ pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.local;
|
||||
in
|
||||
{
|
||||
options.jopejoe1.local = {
|
||||
enable = lib.mkEnableOption "Enable Locals";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
xdg = {
|
||||
sounds.enable = true;
|
||||
mime.enable = true;
|
||||
|
@ -36,6 +44,6 @@
|
|||
};
|
||||
|
||||
fonts.fontDir.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
{ ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.minecraft-server;
|
||||
in
|
||||
{
|
||||
options.jopejoe1.minecraft-server = {
|
||||
enable = lib.mkEnableOption "Enable Bluetooth";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.minecraft-server = {
|
||||
enable = true;
|
||||
eula = true;
|
||||
|
@ -16,4 +24,5 @@
|
|||
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,6 +1,14 @@
|
|||
{ pkgs, self, ... }:
|
||||
{ config, lib, pkgs, self, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.nix;
|
||||
in
|
||||
{
|
||||
options.jopejoe1.nix = {
|
||||
enable = lib.mkEnableOption "Enable Nix";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
nix = {
|
||||
settings = {
|
||||
substituters = [
|
||||
|
@ -34,6 +42,7 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
deploy-rs
|
||||
nixfmt
|
||||
nixpkgs-fmt
|
||||
nix-index
|
||||
nix-prefetch-git
|
||||
nixpkgs-review
|
||||
|
@ -48,6 +57,6 @@
|
|||
};
|
||||
|
||||
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,6 +1,14 @@
|
|||
{ pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.plasma;
|
||||
in
|
||||
{
|
||||
options.jopejoe1.plasma = {
|
||||
enable = lib.mkEnableOption "Enable KDE Plasma";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
|
@ -11,17 +19,16 @@
|
|||
enable = true;
|
||||
enableHidpi = true;
|
||||
};
|
||||
desktopManager.plasma6 = {
|
||||
desktopManager.plasma5 = {
|
||||
enable = true;
|
||||
#useQtScaling = true;
|
||||
useQtScaling = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.kdeconnect = {
|
||||
enable = true;
|
||||
#package = pkgs.plasma5Packages.kdeconnect-kde;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
{ pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.printing;
|
||||
in
|
||||
{
|
||||
options.jopejoe1.printing = {
|
||||
enable = lib.mkEnableOption "Enable Printing";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.printing = {
|
||||
enable = true;
|
||||
webInterface = true;
|
||||
|
@ -19,4 +27,6 @@
|
|||
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,6 +1,14 @@
|
|||
{ pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.steam;
|
||||
in
|
||||
{
|
||||
options.jopejoe1.steam = {
|
||||
enable = lib.mkEnableOption "Enable Steam";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
hardware.steam-hardware.enable = true;
|
||||
|
||||
programs.steam = {
|
||||
|
@ -10,9 +18,6 @@
|
|||
};
|
||||
|
||||
programs.steam.gamescopeSession.enable = true;
|
||||
|
||||
#chaotic.steam.extraCompatPackages = with pkgs; [
|
||||
# luxtorpeda
|
||||
# proton-ge-custom
|
||||
#];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
./home.nix
|
||||
];
|
||||
options.jopejoe1.jopejoe1 = {
|
||||
enable = lib.mkEnableOption "Enable jopejoe1 user";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
users.users.jopejoe1 = {
|
||||
isNormalUser = true;
|
||||
description = "Johannes Jöns";
|
||||
initialPassword = "password";
|
||||
initialPassword = "passwor";
|
||||
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"
|
||||
];
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
imports = [ ./home.nix ];
|
||||
}
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let hcfg = config.home-manager.users.jopejoe1;
|
||||
in {
|
||||
let
|
||||
cfg = config.jopejoe1.jopejoe1;
|
||||
hcfg = config.home-manager.users.jopejoe1;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
home-manager.users.jopejoe1 = {
|
||||
home = {
|
||||
# Basic information for home-manager
|
||||
|
@ -439,4 +443,5 @@ in {
|
|||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +1,20 @@
|
|||
{ ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.jopejoe1.root;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./home.nix
|
||||
];
|
||||
options.jopejoe1.root = {
|
||||
enable = lib.mkEnableOption "Enable root user";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
users.users.root = {
|
||||
initialPassword = "password";
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
./home.nix
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
{ config, pkgs, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let hcfg = config.home-manager.users.root;
|
||||
in {
|
||||
let
|
||||
cfg = config.jopejoe1.root;
|
||||
hcfg = config.home-manager.users.root;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
home-manager.users.root = {
|
||||
home = {
|
||||
# Basic information for home-manager
|
||||
|
@ -80,4 +84,5 @@ in {
|
|||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
jopejoe1 = {
|
||||
audio = {
|
||||
enable = true;
|
||||
};
|
||||
bluetooth.enable = true;
|
||||
local.enable = true;
|
||||
nix.enable = true;
|
||||
root.enable = true;
|
||||
};
|
||||
|
||||
boot.loader = {
|
||||
grub.enable = false;
|
||||
generic-extlinux-compatible.enable = true;
|
||||
|
|
|
@ -6,6 +6,23 @@
|
|||
./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.hostId = "16c22faf";
|
||||
services.hardware.openrgb.enable = true;
|
||||
|
|
|
@ -5,6 +5,17 @@
|
|||
./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";
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
|
|
|
@ -2,10 +2,24 @@
|
|||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
[
|
||||
# Include the results of the hardware scan.
|
||||
./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.hostId = "af13bbec";
|
||||
|
||||
|
@ -17,6 +31,39 @@
|
|||
|
||||
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";
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
Loading…
Reference in a new issue