Compare commits
No commits in common. "1735ec5594d1c2d1f8650e75d79cc9699d522e15" and "1b3b7cf607b57db75d152829f58f2358f66eabbb" have entirely different histories.
1735ec5594
...
1b3b7cf607
60 changed files with 677 additions and 701 deletions
118
flake.nix
118
flake.nix
|
@ -63,66 +63,23 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
devices = {
|
devices = {
|
||||||
vinzenz-lpt2 = {
|
vinzenz-lpt2 = "x86_64-linux";
|
||||||
system = "x86_64-linux";
|
vinzenz-pc2 = "x86_64-linux";
|
||||||
additional-modules = [
|
ronja-pc = "x86_64-linux";
|
||||||
self.nixosModules.user-vinzenz
|
hetzner-vpn2 = "aarch64-linux";
|
||||||
|
forgejo-runner-1 = "aarch64-linux";
|
||||||
self.nixosModules.gnome
|
|
||||||
self.nixosModules.wine-gaming
|
|
||||||
self.nixosModules.steam
|
|
||||||
self.nixosModules.printing
|
|
||||||
self.nixosModules.podman
|
|
||||||
self.nixosModules.vinzenz-desktop-settings
|
|
||||||
self.nixosModules.intel-graphics
|
|
||||||
];
|
|
||||||
home-manager-users = {
|
|
||||||
inherit (self.homeConfigurations) vinzenz;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
vinzenz-pc2 = {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
additional-modules = [
|
|
||||||
self.nixosModules.user-vinzenz
|
|
||||||
self.nixosModules.user-ronja
|
|
||||||
|
|
||||||
self.nixosModules.gnome
|
|
||||||
self.nixosModules.wine-gaming
|
|
||||||
self.nixosModules.steam
|
|
||||||
self.nixosModules.printing
|
|
||||||
self.nixosModules.podman
|
|
||||||
self.nixosModules.vinzenz-desktop-settings
|
|
||||||
self.nixosModules.amd-graphics
|
|
||||||
];
|
|
||||||
home-manager-users = {
|
|
||||||
inherit (self.homeConfigurations) vinzenz ronja;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
ronja-pc = {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
additional-modules = [
|
|
||||||
self.nixosModules.user-ronja
|
|
||||||
|
|
||||||
self.nixosModules.gnome
|
|
||||||
self.nixosModules.steam
|
|
||||||
self.nixosModules.wine-gaming
|
|
||||||
self.nixosModules.vinzenz-desktop-settings
|
|
||||||
];
|
|
||||||
home-manager-users = {
|
|
||||||
inherit (self.homeConfigurations) ronja;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
hetzner-vpn2 = {
|
|
||||||
system = "aarch64-linux";
|
|
||||||
};
|
|
||||||
forgejo-runner-1 = {
|
|
||||||
system = "aarch64-linux";
|
|
||||||
additional-modules = [ self.nixosModules.podman ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
homeDevices = [
|
||||||
|
"vinzenz-lpt2"
|
||||||
|
"vinzenz-pc2"
|
||||||
|
"ronja-pc"
|
||||||
|
];
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
forDevice = f: lib.mapAttrs (device: value: f (value // { inherit device; })) devices;
|
forDevice = f: lib.mapAttrs f devices;
|
||||||
supported-systems = lib.attrsets.mapAttrsToList (k: v: v.system) devices;
|
supported-systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
forAllSystems =
|
forAllSystems =
|
||||||
f:
|
f:
|
||||||
lib.genAttrs supported-systems (
|
lib.genAttrs supported-systems (
|
||||||
|
@ -144,28 +101,21 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations = forDevice (
|
nixosConfigurations = forDevice (
|
||||||
{
|
device: system:
|
||||||
device,
|
|
||||||
system,
|
|
||||||
home-manager-users ? { },
|
|
||||||
additional-modules ? [ ],
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
specialArgs = {
|
commonSpecialArgs = {
|
||||||
inherit device;
|
inherit device;
|
||||||
vinzenzHomeModules = self.homeModules;
|
vinzenzHomeModules = self.homeModules;
|
||||||
vinzenzLib = self.lib;
|
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
inherit system specialArgs;
|
inherit system;
|
||||||
|
specialArgs = commonSpecialArgs // {
|
||||||
|
vinzenzNixosModules = self.nixosModules;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
networking.hostName = device;
|
networking.hostName = device;
|
||||||
nixpkgs = {
|
|
||||||
inherit system;
|
|
||||||
hostPlatform = lib.mkDefault system;
|
|
||||||
};
|
|
||||||
system = {
|
system = {
|
||||||
stateVersion = "22.11";
|
stateVersion = "22.11";
|
||||||
autoUpgrade.flake = "git+https://git.berlin.ccc.de/vinzenz/nixos-configuration.git";
|
autoUpgrade.flake = "git+https://git.berlin.ccc.de/vinzenz/nixos-configuration.git";
|
||||||
|
@ -178,18 +128,11 @@
|
||||||
nix.settings.experimental-features = [
|
nix.settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
"repl-flake"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
documentation = {
|
|
||||||
info.enable = false; # info pages and the info command
|
|
||||||
doc.enable = false; # documentation distributed in packages' /share/doc
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
./nixosConfigurations/${device}
|
./nixosConfigurations/${device}
|
||||||
|
|
||||||
self.nixosModules.default
|
|
||||||
self.nixosModules.lix-is-nix
|
self.nixosModules.lix-is-nix
|
||||||
self.nixosModules.globalinstalls
|
self.nixosModules.globalinstalls
|
||||||
self.nixosModules.autoupdate
|
self.nixosModules.autoupdate
|
||||||
|
@ -197,14 +140,14 @@
|
||||||
self.nixosModules.tailscale
|
self.nixosModules.tailscale
|
||||||
self.nixosModules.allowed-unfree-list
|
self.nixosModules.allowed-unfree-list
|
||||||
self.nixosModules.extra-caches
|
self.nixosModules.extra-caches
|
||||||
self.nixosModules.systemd-boot
|
./modules/nixpkgs.nix
|
||||||
|
|
||||||
zerforschen-plus.nixosModules.default
|
zerforschen-plus.nixosModules.default
|
||||||
]
|
]
|
||||||
++ (nixpkgs.lib.optionals (home-manager-users != { }) [
|
++ (nixpkgs.lib.optionals (builtins.elem device homeDevices) [
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = specialArgs;
|
extraSpecialArgs = commonSpecialArgs;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
};
|
};
|
||||||
|
@ -218,10 +161,7 @@
|
||||||
self.homeModules.templates
|
self.homeModules.templates
|
||||||
self.homeModules.zsh-basics
|
self.homeModules.zsh-basics
|
||||||
self.homeModules.nano
|
self.homeModules.nano
|
||||||
self.homeModules.gnome-extensions
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users = home-manager-users;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.nixosModules.pkgs-unstable
|
self.nixosModules.pkgs-unstable
|
||||||
|
@ -232,14 +172,11 @@
|
||||||
self.nixosModules.gnome
|
self.nixosModules.gnome
|
||||||
self.nixosModules.modern-desktop
|
self.nixosModules.modern-desktop
|
||||||
self.nixosModules.nix-ld
|
self.nixosModules.nix-ld
|
||||||
self.nixosModules.quiet-boot
|
|
||||||
self.nixosModules.firmware-updates
|
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
servicepoint-simulator.nixosModules.default
|
servicepoint-simulator.nixosModules.default
|
||||||
servicepoint-cli.nixosModules.default
|
servicepoint-cli.nixosModules.default
|
||||||
])
|
]);
|
||||||
++ additional-modules;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -263,14 +200,9 @@
|
||||||
pkgs-vscode-extensions = {
|
pkgs-vscode-extensions = {
|
||||||
nixpkgs.overlays = [ nix-vscode-extensions.overlays.default ];
|
nixpkgs.overlays = [ nix-vscode-extensions.overlays.default ];
|
||||||
};
|
};
|
||||||
# required modules to use other modules, should not do anything on their own
|
|
||||||
default = {
|
|
||||||
imports = [ self.nixosModules.allowed-unfree-list ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
homeModules = self.lib.importDir ./homeModules;
|
homeModules = self.lib.importDir ./homeModules;
|
||||||
homeConfigurations = self.lib.importDir ./homeConfigurations;
|
|
||||||
|
|
||||||
formatter = forAllSystems ({ pkgs, ... }: pkgs.nixfmt-tree);
|
formatter = forAllSystems ({ pkgs, ... }: pkgs.nixfmt-tree);
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ./vscode.nix ];
|
|
||||||
config = {
|
config = {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
## Apps
|
## Apps
|
25
home/ronja/default.nix
Normal file
25
home/ronja/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
# Define user account
|
||||||
|
users.users.ronja = {
|
||||||
|
isNormalUser = true;
|
||||||
|
name = "ronja";
|
||||||
|
description = "Ronja";
|
||||||
|
home = "/home/ronja";
|
||||||
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"games"
|
||||||
|
"podman"
|
||||||
|
"openvscode-server"
|
||||||
|
];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.ronja.imports = [
|
||||||
|
./configuration.nix
|
||||||
|
./vscode.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -56,10 +56,6 @@
|
||||||
icu
|
icu
|
||||||
|
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
|
|
||||||
lutris
|
|
||||||
|
|
||||||
foliate
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
51
home/vinzenz/default.nix
Normal file
51
home/vinzenz/default.nix
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
users.users.vinzenz = {
|
||||||
|
isNormalUser = true;
|
||||||
|
name = "vinzenz";
|
||||||
|
description = "Vinzenz";
|
||||||
|
home = "/home/vinzenz";
|
||||||
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"games"
|
||||||
|
"dialout"
|
||||||
|
"podman"
|
||||||
|
"nginx"
|
||||||
|
"adbusers"
|
||||||
|
"kvm"
|
||||||
|
"input"
|
||||||
|
"video"
|
||||||
|
];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
autoSubUidGidRange = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.settings.trusted-users = [ "vinzenz" ];
|
||||||
|
|
||||||
|
home-manager.users.vinzenz.imports = [
|
||||||
|
./configuration.nix
|
||||||
|
./editorconfig.nix
|
||||||
|
./fuzzel.nix
|
||||||
|
./git.nix
|
||||||
|
./gnome.nix
|
||||||
|
#./niri.nix
|
||||||
|
./ssh.nix
|
||||||
|
./swaylock.nix
|
||||||
|
./vscode.nix
|
||||||
|
./waybar.nix
|
||||||
|
./zsh.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
allowedUnfreePackages = [
|
||||||
|
"rider"
|
||||||
|
"pycharm-professional"
|
||||||
|
"jetbrains-toolbox"
|
||||||
|
|
||||||
|
"anydesk"
|
||||||
|
|
||||||
|
"vscode-extension-ms-dotnettools-csharp"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
24
home/vinzenz/gnome.nix
Normal file
24
home/vinzenz/gnome.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
home.packages =
|
||||||
|
with pkgs.gnomeExtensions;
|
||||||
|
[
|
||||||
|
# battery-health-charging
|
||||||
|
quick-settings-tweaker
|
||||||
|
solaar-extension
|
||||||
|
alphabetical-app-grid
|
||||||
|
]
|
||||||
|
++ (with pkgs; [ foliate ]);
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/shell" = {
|
||||||
|
enabled-extensions = [
|
||||||
|
"GPaste@gnome-shell-extensions.gnome.org"
|
||||||
|
"solaar-extension@sidevesh"
|
||||||
|
"AlphabeticalAppGrid@stuarthayhurst"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./configuration.nix
|
|
||||||
./editorconfig.nix
|
|
||||||
./fuzzel.nix
|
|
||||||
./git.nix
|
|
||||||
./gnome.nix
|
|
||||||
#./niri.nix
|
|
||||||
./ssh.nix
|
|
||||||
./swaylock.nix
|
|
||||||
./vscode.nix
|
|
||||||
./waybar.nix
|
|
||||||
./zsh.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
config = {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
gitg
|
|
||||||
meld
|
|
||||||
simple-scan
|
|
||||||
pinta
|
|
||||||
dconf-editor
|
|
||||||
impression # usb image writer
|
|
||||||
papers # pdf viewer
|
|
||||||
gnome-software # for flatpak apps
|
|
||||||
gnomeExtensions.solaar-extension
|
|
||||||
snapshot
|
|
||||||
];
|
|
||||||
|
|
||||||
dconf.settings = {
|
|
||||||
"org/gnome/shell".enabled-extensions = [
|
|
||||||
"GPaste@gnome-shell-extensions.gnome.org"
|
|
||||||
"solaar-extension@sidevesh"
|
|
||||||
];
|
|
||||||
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
|
||||||
"org/gnome/desktop/wm/keybindings" = {
|
|
||||||
switch-windows = [ "<Alt>Tab" ];
|
|
||||||
switch-windows-backward = [ "<Shift><Alt>Tab" ];
|
|
||||||
switch-applications = [ "<Super>Tab" ];
|
|
||||||
switch-applications-backward = [ "<Shift><Super>Tab" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,101 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
osConfig,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
options.vinzenz.gnome-extensions =
|
|
||||||
let
|
|
||||||
mkDefaultEnabledOption =
|
|
||||||
name:
|
|
||||||
lib.mkOption {
|
|
||||||
default = true;
|
|
||||||
example = false;
|
|
||||||
description = "Whether to enable ${name}.";
|
|
||||||
type = lib.types.bool;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = mkDefaultEnabledOption "gnome extended options";
|
|
||||||
appindicator.enable = mkDefaultEnabledOption "appindicator";
|
|
||||||
caffeine.enable = mkDefaultEnabledOption "caffeine";
|
|
||||||
tailscale-qs.enable = lib.mkOption {
|
|
||||||
default = osConfig.services.tailscale.enable;
|
|
||||||
example = true;
|
|
||||||
description = "Whether to enable tailscale quick setting.";
|
|
||||||
type = lib.types.bool;
|
|
||||||
};
|
|
||||||
alphabetic-apps.enable = mkDefaultEnabledOption "alphabetic app grid";
|
|
||||||
clock-show-seconds = mkDefaultEnabledOption "clock seconds";
|
|
||||||
show-battery-percentage = mkDefaultEnabledOption "battery percentage";
|
|
||||||
enable-numlock = mkDefaultEnabledOption "num lock on login";
|
|
||||||
enable-systool-warning = lib.mkEnableOption "system configuration tool warning";
|
|
||||||
edge-tiling = mkDefaultEnabledOption "edge tiling";
|
|
||||||
dynamic-workspaces = mkDefaultEnabledOption "dynamic workspaces";
|
|
||||||
tap-to-click = mkDefaultEnabledOption "tap to click";
|
|
||||||
two-finger-scrolling = mkDefaultEnabledOption "two finger scrolling";
|
|
||||||
};
|
|
||||||
|
|
||||||
config =
|
|
||||||
let
|
|
||||||
cfg = config.vinzenz.gnome-extensions;
|
|
||||||
in
|
|
||||||
lib.mkIf cfg.enable (
|
|
||||||
lib.mkMerge [
|
|
||||||
{
|
|
||||||
dconf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
"org/gnome/shell" = {
|
|
||||||
disable-user-extensions = false;
|
|
||||||
disabled-extensions = [ ];
|
|
||||||
enabled-extensions = [ ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"ca/desrt/dconf-editor".show-warning = cfg.enable-systool-warning;
|
|
||||||
"org/gnome/tweaks".show-extensions-notice = cfg.enable-systool-warning;
|
|
||||||
"org/gnome/mutter" = {
|
|
||||||
inherit (cfg) edge-tiling dynamic-workspaces;
|
|
||||||
};
|
|
||||||
"org/gnome/desktop/peripherals/touchpad" = {
|
|
||||||
inherit (cfg) tap-to-click;
|
|
||||||
two-finger-scrolling-enabled = cfg.two-finger-scrolling;
|
|
||||||
};
|
|
||||||
"org/gnome/desktop/interface" = {
|
|
||||||
inherit (cfg) clock-show-seconds show-battery-percentage;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
(lib.mkIf cfg.tailscale-qs.enable {
|
|
||||||
home.packages = [ pkgs.gnomeExtensions.tailscale-qs ];
|
|
||||||
dconf.settings."org/gnome/shell".enabled-extensions = [ "tailscale@joaophi.github.com" ];
|
|
||||||
})
|
|
||||||
|
|
||||||
(lib.mkIf cfg.appindicator.enable {
|
|
||||||
home.packages = [ pkgs.gnomeExtensions.appindicator ];
|
|
||||||
dconf.settings."org/gnome/shell".enabled-extensions = [ "appindicatorsupport@rgcjonas.gmail.com" ];
|
|
||||||
})
|
|
||||||
|
|
||||||
(lib.mkIf cfg.caffeine.enable {
|
|
||||||
home.packages = [ pkgs.gnomeExtensions.caffeine ];
|
|
||||||
dconf.settings."org/gnome/shell".enabled-extensions = [ "caffeine@patapon.info" ];
|
|
||||||
})
|
|
||||||
|
|
||||||
(lib.mkIf cfg.alphabetic-apps.enable {
|
|
||||||
home.packages = [ pkgs.gnomeExtensions.alphabetical-app-grid ];
|
|
||||||
dconf.settings = {
|
|
||||||
"org/gnome/shell".enabled-extensions = [ "AlphabeticalAppGrid@stuarthayhurst" ];
|
|
||||||
"org/gnome/shell/extensions/alphabetical-app-grid".folder-order-position = "start";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
|
|
||||||
(lib.mkIf cfg.enable-numlock {
|
|
||||||
dconf.settings."org/gnome/desktop/peripherals/keyboard".numlock-state = true;
|
|
||||||
})
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -euxo pipefail
|
|
||||||
|
|
||||||
nix fmt
|
|
||||||
|
|
||||||
nix flake check --all-systems --show-trace
|
|
22
modules/amd-graphics.nix
Normal file
22
modules/amd-graphics.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
boot.kernelModules = [ "amdgpu" ];
|
||||||
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
graphics.enable = true;
|
||||||
|
amdgpu = {
|
||||||
|
opencl.enable = true;
|
||||||
|
amdvlk = {
|
||||||
|
# TODO: this creates black borders around GNOME apps
|
||||||
|
# enable = true;
|
||||||
|
# support32Bit.enable = config.hardware.graphics.enable32Bit;
|
||||||
|
};
|
||||||
|
overdrive.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ nvtopPackages.amd ];
|
||||||
|
};
|
||||||
|
}
|
31
modules/desktop-environment.nix
Normal file
31
modules/desktop-environment.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs.firefox.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
lm_sensors
|
||||||
|
|
||||||
|
# office
|
||||||
|
#libreoffice-qt
|
||||||
|
#hunspell
|
||||||
|
#hunspellDicts.de-de
|
||||||
|
#hunspellDicts.en-us-large
|
||||||
|
];
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
enableDefaultPackages = true;
|
||||||
|
fontconfig.defaultFonts.monospace = [ "FiraCode Nerd Font" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
roboto-mono
|
||||||
|
recursive
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.logitech.wireless = {
|
||||||
|
enable = true;
|
||||||
|
enableGraphical = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
48
modules/desktop-hardware.nix
Normal file
48
modules/desktop-hardware.nix
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxPackages_zen;
|
||||||
|
kernelParams = [
|
||||||
|
"quiet"
|
||||||
|
"udev.log_level=3"
|
||||||
|
];
|
||||||
|
supportedFilesystems = [ "btrfs" ];
|
||||||
|
initrd.supportedFilesystems = [ "btrfs" ];
|
||||||
|
consoleLogLevel = 0;
|
||||||
|
initrd.verbose = false;
|
||||||
|
plymouth.enable = true;
|
||||||
|
loader = {
|
||||||
|
timeout = 3;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
editor = false; # do not allow changing kernel parameters
|
||||||
|
consoleMode = "max";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
# 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
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
enableRedistributableFirmware = true;
|
||||||
|
bluetooth.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
|
||||||
|
services.fwupd.enable = true;
|
||||||
|
};
|
||||||
|
}
|
30
modules/gaming.nix
Normal file
30
modules/gaming.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
hardware = {
|
||||||
|
graphics = {
|
||||||
|
enable32Bit = true;
|
||||||
|
extraPackages = with pkgs; [ mangohud ];
|
||||||
|
extraPackages32 = with pkgs; [ mangohud ];
|
||||||
|
};
|
||||||
|
|
||||||
|
xpadneo.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
wineWowPackages.stagingFull
|
||||||
|
wineWowPackages.fonts
|
||||||
|
winetricks
|
||||||
|
dxvk
|
||||||
|
mangohud
|
||||||
|
vulkan-tools
|
||||||
|
glxinfo
|
||||||
|
lutris
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
# Factorio
|
||||||
|
34197
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
43
modules/gnome-shared-dconf.nix
Normal file
43
modules/gnome-shared-dconf.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
clock-show-seconds = true;
|
||||||
|
show-battery-percentage = true;
|
||||||
|
};
|
||||||
|
"org/gnome/mutter" = {
|
||||||
|
edge-tiling = true;
|
||||||
|
dynamic-workspaces = true;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/peripherals/keyboard" = {
|
||||||
|
numlock-state = true;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/peripherals/touchpad" = {
|
||||||
|
tap-to-click = true;
|
||||||
|
two-finger-scrolling-enabled = true;
|
||||||
|
};
|
||||||
|
"org/gnome/tweaks" = {
|
||||||
|
show-extensions-notice = false;
|
||||||
|
};
|
||||||
|
"org/gnome/shell" = {
|
||||||
|
disable-user-extensions = false;
|
||||||
|
disabled-extensions = [ ];
|
||||||
|
enabled-extensions = [
|
||||||
|
"tailscale@joaophi.github.com"
|
||||||
|
"appindicatorsupport@rgcjonas.gmail.com"
|
||||||
|
"workspace-indicator@gnome-shell-extensions.gcampax.github.com"
|
||||||
|
"caffeine@patapon.info"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"ca/desrt/dconf-editor" = {
|
||||||
|
show-warning = false;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
|
switch-windows = [ "<Alt>Tab" ];
|
||||||
|
switch-windows-backward = [ "<Shift><Alt>Tab" ];
|
||||||
|
switch-applications = [ "<Super>Tab" ];
|
||||||
|
switch-applications-backward = [ "<Shift><Super>Tab" ];
|
||||||
|
};
|
||||||
|
"org/gnome/shell/extensions/alphabetical-app-grid" = {
|
||||||
|
folder-order-position = "start";
|
||||||
|
};
|
||||||
|
}
|
61
modules/gnome.nix
Normal file
61
modules/gnome.nix
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
# remove some gnome default apps
|
||||||
|
environment.gnome.excludePackages = with pkgs; [
|
||||||
|
cheese # photo booth
|
||||||
|
epiphany # web browser
|
||||||
|
evince # document viewer
|
||||||
|
geary # email client
|
||||||
|
gnome-maps
|
||||||
|
gnome-weather
|
||||||
|
gnome-tour
|
||||||
|
sysprof
|
||||||
|
orca # screen reader
|
||||||
|
gnome-weather
|
||||||
|
gnome-backgrounds
|
||||||
|
gnome-user-docs
|
||||||
|
yelp # help app
|
||||||
|
# gnome-music
|
||||||
|
# totem # video player
|
||||||
|
# snapshot # camera
|
||||||
|
# baobab # disk usage
|
||||||
|
];
|
||||||
|
|
||||||
|
# RDP connections
|
||||||
|
services.gnome.gnome-remote-desktop.enable = true;
|
||||||
|
networking.firewall.allowedTCPPorts = [ 3389 ];
|
||||||
|
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
{
|
||||||
|
home.packages =
|
||||||
|
with pkgs;
|
||||||
|
[
|
||||||
|
gitg
|
||||||
|
meld
|
||||||
|
simple-scan
|
||||||
|
pinta
|
||||||
|
dconf-editor
|
||||||
|
gpaste
|
||||||
|
ghex
|
||||||
|
impression
|
||||||
|
papers
|
||||||
|
|
||||||
|
# graphical installer for flatpak apps
|
||||||
|
gnome-software
|
||||||
|
]
|
||||||
|
++ (with gnomeExtensions; [
|
||||||
|
caffeine
|
||||||
|
appindicator
|
||||||
|
]);
|
||||||
|
|
||||||
|
dconf.settings = import ./gnome-shared-dconf.nix;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [ trayscale ] ++ (with gnomeExtensions; [ tailscale-qs ]);
|
||||||
|
dconf.settings."org/gnome/shell".enabled-extensions = [ "tailscale@joaophi.github.com" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, vinzenzNixosModules, ... }:
|
||||||
{
|
{
|
||||||
|
imports = [ vinzenzNixosModules.allowed-unfree-list ];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
9
modules/nixpkgs.nix
Normal file
9
modules/nixpkgs.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
documentation = {
|
||||||
|
enable = true; # documentation of packages
|
||||||
|
nixos.enable = false; # nixos documentation
|
||||||
|
man.enable = true; # manual pages and the man command
|
||||||
|
info.enable = false; # info pages and the info command
|
||||||
|
doc.enable = false; # documentation distributed in packages' /share/doc
|
||||||
|
};
|
||||||
|
}
|
15
nixosConfigurations/forgejo-runner-1/configuration.nix
Normal file
15
nixosConfigurations/forgejo-runner-1/configuration.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
# uncomment for build check on non arm system (requires --impure)
|
||||||
|
# nixpkgs.buildPlatform = builtins.currentSystem;
|
||||||
|
services.tailscale.useRoutingFeatures = "both";
|
||||||
|
system.autoUpgrade.allowReboot = true;
|
||||||
|
|
||||||
|
users.users = {
|
||||||
|
root.openssh.authorizedKeys.keys = [
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,21 +1,10 @@
|
||||||
|
{ vinzenzNixosModules, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./configuration.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
|
|
||||||
|
vinzenzNixosModules.podman
|
||||||
./forgejo-runner.nix
|
./forgejo-runner.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
|
||||||
# uncomment for build check on non arm system (requires --impure)
|
|
||||||
# nixpkgs.buildPlatform = builtins.currentSystem;
|
|
||||||
services.tailscale.useRoutingFeatures = "both";
|
|
||||||
system.autoUpgrade.allowReboot = true;
|
|
||||||
|
|
||||||
users.users = {
|
|
||||||
root.openssh.authorizedKeys.keys = [
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,11 @@
|
||||||
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
nixpkgs = {
|
||||||
|
hostPlatform = "aarch64-linux";
|
||||||
|
system = "aarch64-linux";
|
||||||
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
tmp.cleanOnBoot = true;
|
tmp.cleanOnBoot = true;
|
||||||
kernelParams = [ "console=tty" ];
|
kernelParams = [ "console=tty" ];
|
||||||
|
|
21
nixosConfigurations/hetzner-vpn2/configuration.nix
Normal file
21
nixosConfigurations/hetzner-vpn2/configuration.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
# uncomment for build check on non arm system (requires --impure)
|
||||||
|
# nixpkgs.buildPlatform = builtins.currentSystem;
|
||||||
|
|
||||||
|
services.tailscale.useRoutingFeatures = "both";
|
||||||
|
|
||||||
|
users.users = {
|
||||||
|
root.openssh.authorizedKeys.keys = [
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICdYqY3Y1/f1bsAi5Qfyr/UWuX9ixu96IeAlhoQaJkbf''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
|
||||||
|
];
|
||||||
|
#ronja.openssh.authorizedKeys.keys = [
|
||||||
|
# ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ronja-ssh-host-key''
|
||||||
|
#];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.autoUpgrade.allowReboot = true;
|
||||||
|
}
|
|
@ -1,27 +1,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./configuration.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./nginx.nix
|
./nginx.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
|
||||||
# uncomment for build check on non arm system (requires --impure)
|
|
||||||
# nixpkgs.buildPlatform = builtins.currentSystem;
|
|
||||||
|
|
||||||
services.tailscale.useRoutingFeatures = "both";
|
|
||||||
|
|
||||||
users.users = {
|
|
||||||
root.openssh.authorizedKeys.keys = [
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICdYqY3Y1/f1bsAi5Qfyr/UWuX9ixu96IeAlhoQaJkbf''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
|
|
||||||
];
|
|
||||||
#ronja.openssh.authorizedKeys.keys = [
|
|
||||||
# ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ronja-ssh-host-key''
|
|
||||||
#];
|
|
||||||
};
|
|
||||||
|
|
||||||
system.autoUpgrade.allowReboot = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,11 @@
|
||||||
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
nixpkgs = {
|
||||||
|
hostPlatform = "aarch64-linux";
|
||||||
|
system = "aarch64-linux";
|
||||||
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
tmp.cleanOnBoot = true;
|
tmp.cleanOnBoot = true;
|
||||||
kernelParams = [ "console=tty" ];
|
kernelParams = [ "console=tty" ];
|
||||||
|
|
26
nixosConfigurations/ronja-pc/configuration.nix
Normal file
26
nixosConfigurations/ronja-pc/configuration.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "de";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "de";
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
|
# wget
|
||||||
|
];
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
}
|
|
@ -1,32 +1,15 @@
|
||||||
{
|
{ vinzenzNixosModules, ... }:
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./configuration.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
|
|
||||||
|
../../modules/gnome.nix
|
||||||
|
../../modules/gaming.nix
|
||||||
|
vinzenzNixosModules.steam
|
||||||
|
../../modules/desktop-environment.nix
|
||||||
|
../../modules/desktop-hardware.nix
|
||||||
|
|
||||||
|
../../home/ronja
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "de";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure console keymap
|
|
||||||
console.keyMap = "de";
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
# wget
|
|
||||||
];
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
boot = {
|
boot = {
|
||||||
supportedFilesystems = [ "btrfs" ];
|
|
||||||
initrd.supportedFilesystems = [ "btrfs" ];
|
|
||||||
kernelModules = [ "kvm-intel" ];
|
kernelModules = [ "kvm-intel" ];
|
||||||
extraModulePackages = [ ];
|
extraModulePackages = [ ];
|
||||||
initrd = {
|
initrd = {
|
||||||
|
@ -39,10 +37,6 @@
|
||||||
{ device = "/dev/disk/by-uuid/bf9d19fb-499b-4bfb-b67d-131fa5bf8259"; }
|
{ device = "/dev/disk/by-uuid/bf9d19fb-499b-4bfb-b67d-131fa5bf8259"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
networking = {
|
|
||||||
networkmanager.enable = true;
|
|
||||||
useDHCP = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
45
nixosConfigurations/vinzenz-lpt2/configuration.nix
Normal file
45
nixosConfigurations/vinzenz-lpt2/configuration.nix
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [ ./nginx.nix ];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
nix.settings.extra-platforms = [
|
||||||
|
"aarch64-linux"
|
||||||
|
"i686-linux"
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver.xkb = {
|
||||||
|
# Configure keymap in X11
|
||||||
|
layout = "de";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "de";
|
||||||
|
|
||||||
|
users.users.vinzenz.openssh.authorizedKeys.keys = [
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
|
||||||
|
];
|
||||||
|
|
||||||
|
#users.users.ronja.openssh.authorizedKeys.keys = [
|
||||||
|
# ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ronja-ssh-host-key''
|
||||||
|
#];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
adb.enable = true;
|
||||||
|
light = {
|
||||||
|
enable = true;
|
||||||
|
brightnessKeys = {
|
||||||
|
enable = true;
|
||||||
|
step = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
8776
|
||||||
|
1337
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,47 +1,18 @@
|
||||||
|
{ vinzenzNixosModules, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./configuration.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./nginx.nix
|
|
||||||
|
../../modules/gnome.nix
|
||||||
|
../../modules/gaming.nix
|
||||||
|
vinzenzNixosModules.steam
|
||||||
|
vinzenzNixosModules.printing
|
||||||
|
vinzenzNixosModules.podman
|
||||||
|
../../modules/desktop-environment.nix
|
||||||
|
../../modules/desktop-hardware.nix
|
||||||
|
|
||||||
|
../../home/vinzenz
|
||||||
|
../../home/ronja
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
|
||||||
nix.settings.extra-platforms = [
|
|
||||||
"aarch64-linux"
|
|
||||||
"i686-linux"
|
|
||||||
];
|
|
||||||
|
|
||||||
services.xserver.xkb = {
|
|
||||||
# Configure keymap in X11
|
|
||||||
layout = "de";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure console keymap
|
|
||||||
console.keyMap = "de";
|
|
||||||
|
|
||||||
users.users.vinzenz.openssh.authorizedKeys.keys = [
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO1CRn4yYTL4XUdCebE8Z4ZeuMujBjorTdWifg911EOv vinzenz-pc2 home roaming''
|
|
||||||
];
|
|
||||||
|
|
||||||
#users.users.ronja.openssh.authorizedKeys.keys = [
|
|
||||||
# ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ronja-ssh-host-key''
|
|
||||||
#];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
adb.enable = true;
|
|
||||||
light = {
|
|
||||||
enable = true;
|
|
||||||
brightnessKeys = {
|
|
||||||
enable = true;
|
|
||||||
step = 5;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
|
||||||
8776
|
|
||||||
1337
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,30 @@
|
||||||
{ pkgs, lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
# intel cpu
|
imports = [ ../../modules/intel-graphics.nix ];
|
||||||
boot.kernelModules = [
|
config = {
|
||||||
"kvm-intel"
|
# intel cpu
|
||||||
"xe"
|
boot.kernelModules = [
|
||||||
];
|
"kvm-intel"
|
||||||
|
"xe"
|
||||||
|
];
|
||||||
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
|
|
||||||
networking = {
|
boot.loader = {
|
||||||
networkmanager.enable = true;
|
systemd-boot.enable = true;
|
||||||
useDHCP = lib.mkDefault true;
|
efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
supportedFilesystems = [ "btrfs" ];
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
initrd = {
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
supportedFilesystems = [ "btrfs" ];
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
|
||||||
|
boot.initrd = {
|
||||||
availableKernelModules = [
|
availableKernelModules = [
|
||||||
"xhci_pci"
|
"xhci_pci"
|
||||||
"thunderbolt"
|
"thunderbolt"
|
||||||
|
@ -27,30 +36,28 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
device = "/dev/disk/by-uuid/e4dad0c8-26a1-45e9-bbd9-48565eb6574e";
|
device = "/dev/disk/by-uuid/e4dad0c8-26a1-45e9-bbd9-48565eb6574e";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=@" ];
|
options = [ "subvol=@" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/E2B7-2BC1";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"/boot" = {
|
swapDevices = [
|
||||||
device = "/dev/disk/by-uuid/E2B7-2BC1";
|
{
|
||||||
fsType = "vfat";
|
device = "/var/lib/swapfile";
|
||||||
};
|
size = 32 * 1024;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
services.thermald.enable = true;
|
||||||
|
services.hardware.bolt.enable = true; # thunderbolt security
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
|
||||||
{
|
|
||||||
device = "/var/lib/swapfile";
|
|
||||||
size = 32 * 1024;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
services.thermald.enable = true;
|
|
||||||
services.hardware.bolt.enable = true; # thunderbolt security
|
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
36
nixosConfigurations/vinzenz-pc2/configuration.nix
Normal file
36
nixosConfigurations/vinzenz-pc2/configuration.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware.nix
|
||||||
|
./vscode-server.nix
|
||||||
|
./hass.nix
|
||||||
|
];
|
||||||
|
config = {
|
||||||
|
nix.settings.extra-platforms = [
|
||||||
|
"aarch64-linux"
|
||||||
|
"i686-linux"
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver.xkb = {
|
||||||
|
# Configure keymap in X11
|
||||||
|
layout = "de";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "de";
|
||||||
|
|
||||||
|
users.users.vinzenz.openssh.authorizedKeys.keys = [
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINrY6tcgnoC/xbgL7vxSjddEY9MBxRXe9n2cAHt88/TT home roaming''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users.ronja.openssh.authorizedKeys.keys = [
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ssh-host-key''
|
||||||
|
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEgN6J8KyVyQqBAz+y3drXDmIsxOPkdPB+ISgpIP9Eld Generated By Termius''
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ lact ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,42 +1,19 @@
|
||||||
{ pkgs, ... }:
|
{ vinzenzNixosModules, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./configuration.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./vscode-server.nix
|
|
||||||
./hass.nix
|
../../modules/gnome.nix
|
||||||
|
../../modules/gaming.nix
|
||||||
|
vinzenzNixosModules.steam
|
||||||
|
vinzenzNixosModules.printing
|
||||||
|
vinzenzNixosModules.podman
|
||||||
|
#../../modules/niri.nix
|
||||||
|
../../modules/desktop-environment.nix
|
||||||
|
../../modules/desktop-hardware.nix
|
||||||
|
|
||||||
|
../../home/vinzenz
|
||||||
|
../../home/ronja
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
|
||||||
nix.settings.extra-platforms = [
|
|
||||||
"aarch64-linux"
|
|
||||||
"i686-linux"
|
|
||||||
];
|
|
||||||
|
|
||||||
services.xserver.xkb = {
|
|
||||||
# Configure keymap in X11
|
|
||||||
layout = "de";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure console keymap
|
|
||||||
console.keyMap = "de";
|
|
||||||
|
|
||||||
users.users.vinzenz.openssh.authorizedKeys.keys = [
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINrY6tcgnoC/xbgL7vxSjddEY9MBxRXe9n2cAHt88/TT home roaming''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCJUpbpB3KEKVoKWsKoar9J4RNah8gmQoSH6jQEw5dY vinzenz-pixel-JuiceSSH''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDNpLDmctyqGpow/ElQvdhY4BLBPS/sigDJ1QEcC7wC vinzenz-lpt2-roaming''
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.ronja.openssh.authorizedKeys.keys = [
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALWKm+d6KL6Vl3grPOcGouiNTkvdhXuWJmcrdEBY2nw ssh-host-key''
|
|
||||||
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEgN6J8KyVyQqBAz+y3drXDmIsxOPkdPB+ISgpIP9Eld Generated By Termius''
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ lact ];
|
|
||||||
|
|
||||||
networking.firewall.allowedUDPPorts = [
|
|
||||||
# Factorio
|
|
||||||
34197
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,30 +1,25 @@
|
||||||
{ pkgs, lib, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
# amd cpu
|
imports = [ ../../modules/amd-graphics.nix ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
config = {
|
||||||
|
# amd cpu
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.availableKernelModules = [
|
initrd.availableKernelModules = [
|
||||||
"nvme"
|
"nvme"
|
||||||
"xhci_pci"
|
"xhci_pci"
|
||||||
"ahci"
|
"ahci"
|
||||||
"usbhid"
|
"usbhid"
|
||||||
"sd_mod"
|
"sd_mod"
|
||||||
]; # "usb_storage"
|
]; # "usb_storage"
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
loader.efi.efiSysMountPoint = "/boot";
|
||||||
supportedFilesystems = [ "btrfs" ];
|
};
|
||||||
initrd.supportedFilesystems = [ "btrfs" ];
|
|
||||||
loader.efi.efiSysMountPoint = "/boot";
|
fileSystems = import ./fstab.nix;
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
networking.interfaces.eno1.wakeOnLan.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems = import ./fstab.nix;
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
networkmanager.enable = true;
|
|
||||||
useDHCP = lib.mkDefault true;
|
|
||||||
interfaces.eno1.wakeOnLan.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,12 +15,16 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking = {
|
||||||
8542
|
firewall = {
|
||||||
8543
|
allowedTCPPorts = [
|
||||||
8544
|
8542
|
||||||
80
|
8543
|
||||||
1313
|
8544
|
||||||
5201
|
80
|
||||||
];
|
1313
|
||||||
|
5201
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,9 +9,7 @@
|
||||||
config = {
|
config = {
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
# https://github.com/NixOS/nixpkgs/issues/197325#issuecomment-1579420085
|
# https://github.com/NixOS/nixpkgs/issues/197325#issuecomment-1579420085
|
||||||
allowUnfreePredicate = lib.mkDefault (
|
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.allowedUnfreePackages;
|
||||||
pkg: builtins.elem (lib.getName pkg) config.allowedUnfreePackages
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
boot.kernelModules = [ "amdgpu" ];
|
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
graphics.enable = true;
|
|
||||||
amdgpu = {
|
|
||||||
opencl.enable = true;
|
|
||||||
amdvlk = {
|
|
||||||
# TODO: this creates black borders around GNOME apps
|
|
||||||
# enable = true;
|
|
||||||
# support32Bit.enable = config.hardware.graphics.enable32Bit;
|
|
||||||
};
|
|
||||||
overdrive.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ nvtopPackages.amd ];
|
|
||||||
}
|
|
|
@ -1,4 +1,3 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
i18n = {
|
i18n = {
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
@ -22,10 +21,4 @@
|
||||||
"en-US"
|
"en-US"
|
||||||
"de"
|
"de"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
pkgs.hunspell
|
|
||||||
pkgs.hunspellDicts.de-de
|
|
||||||
pkgs.hunspellDicts.en-us
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
hardware = {
|
|
||||||
enableRedistributableFirmware = true;
|
|
||||||
cpu = {
|
|
||||||
amd.updateMicrocode = true;
|
|
||||||
intel.updateMicrocode = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.fwupd.enable = true;
|
|
||||||
}
|
|
|
@ -1,65 +1,31 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
pkgs,
|
services = {
|
||||||
lib,
|
xserver = {
|
||||||
config,
|
# Enable the GNOME Desktop Environment.
|
||||||
...
|
desktopManager.gnome = {
|
||||||
}:
|
enable = true;
|
||||||
{
|
extraGSettingsOverridePackages = [ pkgs.mutter ];
|
||||||
options.vinzenz = {
|
extraGSettingsOverrides = ''
|
||||||
keep-gnome-default-apps = lib.mkEnableOption "keep gnome default apps";
|
[org.gnome.mutter]
|
||||||
|
experimental-features=['scale-monitor-framebuffer']
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
displayManager.gdm.enable = true;
|
||||||
|
excludePackages = [ pkgs.xterm ];
|
||||||
|
};
|
||||||
|
|
||||||
|
displayManager.defaultSession = "gnome";
|
||||||
|
|
||||||
|
gnome = {
|
||||||
|
tinysparql.enable = false;
|
||||||
|
localsearch.enable = false;
|
||||||
|
sushi.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkMerge [
|
programs = {
|
||||||
{
|
dconf.enable = true;
|
||||||
services = {
|
gpaste.enable = true;
|
||||||
xserver = {
|
};
|
||||||
# Enable the GNOME Desktop Environment.
|
|
||||||
desktopManager.gnome = {
|
|
||||||
enable = true;
|
|
||||||
extraGSettingsOverridePackages = [ pkgs.mutter ];
|
|
||||||
extraGSettingsOverrides = ''
|
|
||||||
[org.gnome.mutter]
|
|
||||||
experimental-features=['scale-monitor-framebuffer']
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
displayManager.gdm.enable = true;
|
|
||||||
excludePackages = [ pkgs.xterm ];
|
|
||||||
};
|
|
||||||
|
|
||||||
displayManager.defaultSession = "gnome";
|
|
||||||
|
|
||||||
gnome = {
|
|
||||||
tinysparql.enable = false;
|
|
||||||
localsearch.enable = false;
|
|
||||||
sushi.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
dconf.enable = true;
|
|
||||||
gpaste.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
(lib.mkIf (!config.vinzenz.keep-gnome-default-apps) {
|
|
||||||
environment.gnome.excludePackages = with pkgs; [
|
|
||||||
cheese # photo booth
|
|
||||||
epiphany # web browser
|
|
||||||
evince # document viewer
|
|
||||||
geary # email client
|
|
||||||
gnome-maps
|
|
||||||
gnome-weather
|
|
||||||
gnome-tour
|
|
||||||
sysprof
|
|
||||||
orca # screen reader
|
|
||||||
gnome-weather
|
|
||||||
gnome-backgrounds
|
|
||||||
gnome-user-docs
|
|
||||||
yelp # help app
|
|
||||||
gnome-music
|
|
||||||
totem # video player
|
|
||||||
snapshot # camera
|
|
||||||
baobab # disk usage
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
boot = {
|
|
||||||
kernelParams = [
|
|
||||||
"quiet"
|
|
||||||
"udev.log_level=3"
|
|
||||||
];
|
|
||||||
consoleLogLevel = 0;
|
|
||||||
initrd.verbose = false;
|
|
||||||
plymouth.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +1,7 @@
|
||||||
|
{ vinzenzNixosModules, ... }:
|
||||||
{
|
{
|
||||||
|
imports = [ vinzenzNixosModules.allowed-unfree-list ];
|
||||||
|
|
||||||
hardware.steam-hardware.enable = true;
|
hardware.steam-hardware.enable = true;
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
boot.loader = {
|
|
||||||
timeout = 3;
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
systemd-boot = {
|
|
||||||
enable = true;
|
|
||||||
editor = false; # do not allow changing kernel parameters
|
|
||||||
consoleMode = "max";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
users.users.ronja = {
|
|
||||||
isNormalUser = true;
|
|
||||||
name = "ronja";
|
|
||||||
description = "Ronja";
|
|
||||||
home = "/home/ronja";
|
|
||||||
extraGroups = [
|
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
"games"
|
|
||||||
"podman"
|
|
||||||
"openvscode-server"
|
|
||||||
];
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.settings.trusted-users = [ "ronja" ];
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
users.users.vinzenz = {
|
|
||||||
isNormalUser = true;
|
|
||||||
name = "vinzenz";
|
|
||||||
description = "Vinzenz";
|
|
||||||
home = "/home/vinzenz";
|
|
||||||
extraGroups = [
|
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
"games"
|
|
||||||
"dialout"
|
|
||||||
"podman"
|
|
||||||
"nginx"
|
|
||||||
"adbusers"
|
|
||||||
"kvm"
|
|
||||||
"input"
|
|
||||||
"video"
|
|
||||||
];
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
autoSubUidGidRange = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.settings.trusted-users = [ "vinzenz" ];
|
|
||||||
|
|
||||||
allowedUnfreePackages = [
|
|
||||||
"rider"
|
|
||||||
"pycharm-professional"
|
|
||||||
"jetbrains-toolbox"
|
|
||||||
|
|
||||||
"anydesk"
|
|
||||||
|
|
||||||
"vscode-extension-ms-dotnettools-csharp"
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.firefox.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
lm_sensors
|
|
||||||
libreoffice-qt6
|
|
||||||
];
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
enableDefaultPackages = true;
|
|
||||||
fontconfig.defaultFonts.monospace = [ "FiraCode Nerd Font" ];
|
|
||||||
packages = with pkgs; [
|
|
||||||
nerd-fonts.fira-code
|
|
||||||
roboto-mono
|
|
||||||
recursive
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.logitech.wireless = {
|
|
||||||
enable = true;
|
|
||||||
enableGraphical = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# RDP connections
|
|
||||||
services.gnome.gnome-remote-desktop.enable = true;
|
|
||||||
networking.firewall.allowedTCPPorts = [ 3389 ];
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
hardware = {
|
|
||||||
graphics = {
|
|
||||||
enable32Bit = true;
|
|
||||||
extraPackages = with pkgs; [ mangohud ];
|
|
||||||
extraPackages32 = with pkgs; [ mangohud ];
|
|
||||||
};
|
|
||||||
|
|
||||||
xpadneo.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
wineWowPackages.stagingFull
|
|
||||||
wineWowPackages.fonts
|
|
||||||
winetricks
|
|
||||||
dxvk
|
|
||||||
mangohud
|
|
||||||
vulkan-tools
|
|
||||||
glxinfo
|
|
||||||
];
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue