193 lines
4.5 KiB
Nix
193 lines
4.5 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
lock = value: {
|
|
Value = value;
|
|
Status = "locked";
|
|
};
|
|
in
|
|
{
|
|
system.stateVersion = "24.11";
|
|
networking.hostName = "c3terminal";
|
|
time.timeZone = "Europe/Berlin";
|
|
facter.reportPath = ./facter.json;
|
|
programs.vim.enable = true;
|
|
programs.vim.defaultEditor = true;
|
|
|
|
services = {
|
|
xserver = {
|
|
xkb.layout = "de";
|
|
};
|
|
};
|
|
console = {
|
|
enable = true;
|
|
useXkbConfig = true;
|
|
};
|
|
|
|
system.autoUpgrade = {
|
|
enable = true;
|
|
flake = "git+https://git.hamburg.ccc.de/jopejoe1/c3terminal";
|
|
dates = "5min";
|
|
};
|
|
|
|
users.users.c3terminal = {
|
|
isNormalUser = true;
|
|
password = "test";
|
|
extraGroups = [
|
|
"wheel"
|
|
"networkmanager"
|
|
];
|
|
openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFZDUoC+1lNR2JTY1Q+vhXpuLmKMdVl2OMFLVbQ3cGkw jopejoe1"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPHns90pKP8pDOKM7ziCiG7ZjO3kFvScnbq7uBlUWG5H n0th1ng"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDA/2vtzv7k2eEm7aedvy6U+hWp9SfLsjRnyY5xraBc1 toxicity@Opeth"
|
|
];
|
|
};
|
|
|
|
home-manager = {
|
|
users.c3terminal = {
|
|
home = {
|
|
username = config.users.users.c3terminal.name;
|
|
homeDirectory = config.users.users.c3terminal.home;
|
|
stateVersion = config.system.stateVersion;
|
|
sessionVariables = {
|
|
MOZ_ENABLE_WAYLAND = 1;
|
|
};
|
|
packages = with pkgs; [
|
|
git
|
|
chromium
|
|
];
|
|
};
|
|
programs = {
|
|
firefox = {
|
|
enable = true;
|
|
package = pkgs.firefox-esr;
|
|
policies = {
|
|
SupportMenu = {
|
|
Title = "Config";
|
|
URL = "https://git.hamburg.ccc.de/jopejoe1/c3terminal";
|
|
};
|
|
Preferences = {
|
|
"browser.ssb.enabled" = lock true;
|
|
#"ui.osk.detected_physical_keyboard" = lock false;
|
|
#"browser.gesture.pinch.in" = lock false;
|
|
#"browser.gesture.pinch.out" = lock false;
|
|
"zoom.maxPercent" = lock 100;
|
|
"zoom.minPercent" = lock 100;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
users.users.demo = {
|
|
isNormalUser = true;
|
|
password = "test";
|
|
};
|
|
|
|
users.users.root = {
|
|
password = "test";
|
|
shell = lib.mkForce (lib.getExe pkgs.bash);
|
|
extraGroups = [
|
|
"wheel"
|
|
"networkmanager"
|
|
];
|
|
openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFZDUoC+1lNR2JTY1Q+vhXpuLmKMdVl2OMFLVbQ3cGkw jopejoe1"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPHns90pKP8pDOKM7ziCiG7ZjO3kFvScnbq7uBlUWG5H n0th1ng"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDA/2vtzv7k2eEm7aedvy6U+hWp9SfLsjRnyY5xraBc1 toxicity@Opeth"
|
|
];
|
|
};
|
|
|
|
boot = {
|
|
loader = {
|
|
grub = {
|
|
enable = true;
|
|
};
|
|
efi = {
|
|
canTouchEfiVariables = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
services = {
|
|
openssh = {
|
|
enable = true;
|
|
settings = {
|
|
PermitRootLogin = "no";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.sway = {
|
|
enable = true;
|
|
wrapperFeatures.gtk = true;
|
|
};
|
|
|
|
nix = {
|
|
settings = {
|
|
substituters = lib.mkForce [
|
|
"https://cache.nixos.org"
|
|
"https://nix-community.cachix.org"
|
|
];
|
|
trusted-public-keys = lib.mkForce [
|
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
];
|
|
sandbox = true;
|
|
require-sigs = true;
|
|
max-jobs = "auto";
|
|
allowed-users = [ "*" ];
|
|
trusted-users = [
|
|
"root"
|
|
];
|
|
experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
use-xdg-base-directories = true;
|
|
};
|
|
package = pkgs.lix;
|
|
};
|
|
|
|
disko.devices = {
|
|
disk = {
|
|
main = {
|
|
type = "disk";
|
|
device = "/dev/disk/by-id/wwn-0x502b2a201d1c1b1a";
|
|
content = {
|
|
type = "gpt";
|
|
partitions = {
|
|
boot = {
|
|
size = "1M";
|
|
type = "EF02"; # for grub MBR
|
|
};
|
|
ESP = {
|
|
size = "512M";
|
|
type = "EF00";
|
|
content = {
|
|
type = "filesystem";
|
|
format = "vfat";
|
|
mountpoint = "/boot";
|
|
mountOptions = [ "umask=0077" ];
|
|
};
|
|
};
|
|
root = {
|
|
size = "100%";
|
|
content = {
|
|
type = "filesystem";
|
|
format = "ext4";
|
|
mountpoint = "/";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|