2024-09-20 08:44:48 +02:00
|
|
|
{
|
2024-09-20 16:20:17 +02:00
|
|
|
inputs,
|
2024-09-20 08:44:48 +02:00
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: {
|
|
|
|
imports = [
|
|
|
|
./hardware-configuration.nix
|
|
|
|
];
|
|
|
|
|
2024-09-20 19:44:48 +02:00
|
|
|
# Nix
|
|
|
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
|
|
|
|
2024-09-20 08:44:48 +02:00
|
|
|
# Set your time zone.
|
|
|
|
time.timeZone = "Europe/Paris";
|
2024-09-20 15:16:34 +02:00
|
|
|
|
2024-09-20 16:54:41 +02:00
|
|
|
console.keyMap = "fr";
|
2024-10-26 17:32:11 +02:00
|
|
|
services.xserver.xkb.layout = "fr";
|
2024-09-20 16:51:14 +02:00
|
|
|
|
2024-09-30 14:08:31 +02:00
|
|
|
security.pam.services.swaylock = {};
|
|
|
|
|
2024-09-20 19:44:48 +02:00
|
|
|
# Services
|
|
|
|
services.seatd.enable = true;
|
|
|
|
services.blueman.enable = true;
|
2024-10-12 19:55:55 +02:00
|
|
|
services.udisks2.enable = true;
|
2024-09-20 19:44:48 +02:00
|
|
|
services.power-profiles-daemon.enable = true;
|
2024-10-25 08:56:51 +02:00
|
|
|
services.ollama = {
|
|
|
|
enable = true;
|
|
|
|
acceleration = "cuda";
|
|
|
|
};
|
2024-10-25 10:12:06 +02:00
|
|
|
systemd.services.ollama = {
|
|
|
|
wantedBy = pkgs.lib.mkForce [];
|
|
|
|
};
|
2024-09-20 17:12:30 +02:00
|
|
|
|
2024-09-20 17:24:37 +02:00
|
|
|
# Programs
|
2024-10-01 10:04:12 +02:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
git
|
|
|
|
wget
|
|
|
|
ncdu
|
|
|
|
neofetch
|
|
|
|
bottom
|
|
|
|
htop
|
2024-10-12 18:55:31 +02:00
|
|
|
wg-netmanager
|
2024-10-01 10:04:12 +02:00
|
|
|
podman-compose
|
2024-10-26 17:32:11 +02:00
|
|
|
mangohud
|
2024-09-20 18:14:01 +02:00
|
|
|
];
|
2024-09-20 17:24:37 +02:00
|
|
|
|
2024-10-01 10:04:12 +02:00
|
|
|
#Podman
|
|
|
|
virtualisation.containers.enable = true;
|
|
|
|
virtualisation = {
|
|
|
|
podman = {
|
|
|
|
enable = true;
|
|
|
|
# Required for containers under podman-compose to be able to talk to each other.
|
|
|
|
defaultNetwork.settings.dns_enabled = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-10-20 20:19:05 +02:00
|
|
|
# ADB
|
|
|
|
programs.adb.enable = true;
|
|
|
|
|
2024-10-23 11:03:40 +02:00
|
|
|
# Gaming
|
|
|
|
programs.gamemode.enable = true;
|
|
|
|
|
2024-10-26 10:04:04 +02:00
|
|
|
# Other
|
|
|
|
programs.nix-ld.enable = true;
|
|
|
|
|
2024-09-20 19:44:48 +02:00
|
|
|
# User config
|
|
|
|
users.groups.gaspard = {
|
|
|
|
name = "gaspard";
|
|
|
|
};
|
|
|
|
users.users.gaspard = {
|
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = [
|
|
|
|
"wheel"
|
|
|
|
"video"
|
|
|
|
"seat"
|
2024-09-20 19:59:57 +02:00
|
|
|
"audio"
|
2024-10-20 20:19:05 +02:00
|
|
|
"adbusers"
|
2024-10-27 10:24:45 +01:00
|
|
|
"gamemode"
|
2024-10-12 18:55:31 +02:00
|
|
|
"networkmanager"
|
2024-09-20 19:44:48 +02:00
|
|
|
];
|
|
|
|
group = "gaspard";
|
|
|
|
};
|
|
|
|
|
|
|
|
home-manager = {
|
|
|
|
extraSpecialArgs = {inherit inputs;};
|
|
|
|
users = {
|
|
|
|
"gaspard" = import ../../users/gaspard.nix;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-10-26 17:32:11 +02:00
|
|
|
# Steam specialisation
|
|
|
|
specialisation.steam.configuration = {
|
2024-10-27 19:26:40 +01:00
|
|
|
system.nixos.tags = ["steam"];
|
|
|
|
users.groups.steam.name = "steam";
|
|
|
|
users.users.steam = {
|
|
|
|
isNormalUser = true;
|
|
|
|
createHome = true;
|
|
|
|
extraGroups = [
|
|
|
|
"video"
|
|
|
|
"seat"
|
|
|
|
"audio"
|
|
|
|
"gamemode"
|
|
|
|
"networkmanager"
|
|
|
|
];
|
|
|
|
group = "steam";
|
|
|
|
};
|
2024-10-26 17:32:11 +02:00
|
|
|
programs = {
|
|
|
|
gamescope = {
|
|
|
|
enable = true;
|
|
|
|
capSysNice = true;
|
2024-10-27 19:26:40 +01:00
|
|
|
env = {
|
|
|
|
XKB_DEFAULT_LAYOUT = "fr";
|
|
|
|
};
|
2024-10-26 17:32:11 +02:00
|
|
|
};
|
|
|
|
steam = {
|
|
|
|
enable = true;
|
|
|
|
gamescopeSession.enable = true;
|
|
|
|
remotePlay.openFirewall = true;
|
|
|
|
dedicatedServer.openFirewall = true;
|
|
|
|
localNetworkGameTransfers.openFirewall = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
hardware.xone.enable = true; # support for the xbox controller USB dongle
|
2024-10-27 19:26:40 +01:00
|
|
|
services.getty.autologinUser = "steam";
|
2024-10-26 17:32:11 +02:00
|
|
|
environment = {
|
|
|
|
loginShellInit = ''
|
2024-10-27 10:24:45 +01:00
|
|
|
[[ "$(tty)" = "/dev/tty1" ]] && ${(pkgs.writeShellScript "gs.sh" "${builtins.readFile ../../bin/gs.sh}")}
|
2024-10-26 17:32:11 +02:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-09-20 17:24:37 +02:00
|
|
|
system.stateVersion = "24.11";
|
2024-09-20 08:44:48 +02:00
|
|
|
}
|