flake: Migrate mashu to flakes
This commit is contained in:
111
hosts/mashu.nix
111
hosts/mashu.nix
@@ -1,23 +1,6 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
mkHost = (import ../modules { lib = lib; pkgs = pkgs; }).mkHost;
|
||||
in mkHost config {
|
||||
userName = "alexander";
|
||||
hostName = "mashu";
|
||||
overlays = [ "nur" "unstable" "simple" "custom" ];
|
||||
hardwareImports = [
|
||||
"intel"
|
||||
"wifi"
|
||||
"mobile"
|
||||
"surface-pro6"
|
||||
];
|
||||
wireless = true;
|
||||
wifiInterface = "wlp1s0";
|
||||
programImports = [
|
||||
"zsh" "git" "mpv" "tmux" "firefox" "gnome-terminal" "gnome" "i18n" "nextcloud" "xournalpp"
|
||||
"distributed-build/offload.nix"
|
||||
];
|
||||
{
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/root";
|
||||
@@ -33,25 +16,101 @@ in mkHost config {
|
||||
device = "/dev/disk/by-label/swap";
|
||||
}
|
||||
];
|
||||
extraOptions = old: {
|
||||
boot = {
|
||||
kernelParams = [ "mem_sleep_default=deep" "kernel.nmi_watchdog=0" "vm.dirty_writeback_centisecs=1500" ];
|
||||
extraModprobeConfig = ''
|
||||
|
||||
ptw = {
|
||||
programs = {
|
||||
mpv.enable = true;
|
||||
tmux.enable = true;
|
||||
zsh.enable = true;
|
||||
git.enable = true;
|
||||
gnome-terminal.enable = true;
|
||||
firefox.enable = true;
|
||||
# TODO: Nextcloud client
|
||||
};
|
||||
services = {
|
||||
gnome.enable = true;
|
||||
};
|
||||
system = {
|
||||
i18n.enable = true;
|
||||
singleUser = "alexander";
|
||||
hostName = "mashu";
|
||||
#wireless = true;
|
||||
offloading.offload.enable = true;
|
||||
};
|
||||
hardware = {
|
||||
intel.enable = true;
|
||||
wifi = {
|
||||
enable = true;
|
||||
wifiInterface = "wlp1s0";
|
||||
};
|
||||
mobile.enable = true;
|
||||
surface.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
kernelParams = [ "mem_sleep_default=deep" "kernel.nmi_watchdog=0" "vm.dirty_writeback_centisecs=1500" ];
|
||||
extraModprobeConfig = ''
|
||||
options i915 enable_fbc=1 enable_rc6=1 modeset=1
|
||||
options snd_hda_intel power_save=1
|
||||
options snd_ac97_codec power_save=1
|
||||
options iwlwifi power_save=Y
|
||||
options iwldvm force_cam=N
|
||||
'';
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "nvme" "usbhid" ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
};
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "nvme" "usbhid" ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
};
|
||||
};
|
||||
|
||||
<<<<<<< HEAD
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
cpuFreqGovernor = "powersave";
|
||||
=======
|
||||
services.gnome.gnome-settings-daemon.enable = true;
|
||||
# TODO: phosh 0.10.2 does not grab this. Just set it.
|
||||
services.logind.extraConfig = ''
|
||||
HandlePowerKey=suspend
|
||||
'';
|
||||
services.xserver.libinput.touchpad = {
|
||||
tapping = true;
|
||||
disableWhileTyping = true;
|
||||
};
|
||||
|
||||
# TODO: phosh only allows numerical PINs...
|
||||
users.users.alexander.hashedPassword = lib.mkForce "$5$AkihyU/rnc$MrGVtF2d.2CbURQo2oIWdBdDz1ZLAnKum7BOxhUjh88";
|
||||
|
||||
# TODO: It seems like 0.10.2 does not do this by default. So, as a workaround, start some of these
|
||||
# myself.
|
||||
systemd.user.services = {
|
||||
gsd-media = {
|
||||
description = "GSD media keys handling";
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.gnome.gnome-settings-daemon}/libexec/gsd-media-keys";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
gsd-power = {
|
||||
description = "GSD media keys handling";
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.gnome.gnome-settings-daemon}/libexec/gsd-power";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.phosh = {
|
||||
enable = true;
|
||||
phocConfig = {
|
||||
outputs = {
|
||||
"eDP-1" = {
|
||||
scale = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -36,14 +36,16 @@
|
||||
|
||||
ptw = {
|
||||
programs = {
|
||||
mpv.primaryScreen = "C27F398";
|
||||
mpv = {
|
||||
primaryScreen = "C27F398";
|
||||
enable = true;
|
||||
};
|
||||
sway.enable = true;
|
||||
alacritty.enable = true;
|
||||
emacs.enable = true;
|
||||
firefox.enable = true;
|
||||
git.enable = true;
|
||||
#gnome-terminal.enable = true;
|
||||
mpv.enable = true;
|
||||
tmux.enable = true;
|
||||
waybar.enable = true;
|
||||
xournalpp.enable = true;
|
||||
@@ -162,47 +164,41 @@
|
||||
# sway
|
||||
#"_JAVA_AWT_NONREPARENTING" = 1;
|
||||
|
||||
# Wayland
|
||||
"QT_QPA_PLATFORM" = "wayland-egl";
|
||||
"ECORE_EVAS_ENGINE" = "wayland-egl";
|
||||
"ELM_ENGINE" = "wayland-egl";
|
||||
"SDL_VIDEODRIVER" = "wayland";
|
||||
};
|
||||
# Wayland
|
||||
"QT_QPA_PLATFORM" = "wayland-egl";
|
||||
"ECORE_EVAS_ENGINE" = "wayland-egl";
|
||||
"ELM_ENGINE" = "wayland-egl";
|
||||
"SDL_VIDEODRIVER" = "wayland";
|
||||
};
|
||||
|
||||
nix.package = pkgs.nixUnstable;
|
||||
nix.extraOptions = ''
|
||||
experimental-features = nix-command flakes ca-references
|
||||
'';
|
||||
|
||||
# TODO: Move into modules
|
||||
systemd.user.services = {
|
||||
scream = {
|
||||
description = "Audio receiver for the Scream virtual network sound card";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.scream}/bin/scream -i virbr0 -o pulse";
|
||||
Restart = "always";
|
||||
};
|
||||
# TODO: Move into modules
|
||||
systemd.user.services = {
|
||||
scream = {
|
||||
description = "Audio receiver for the Scream virtual network sound card";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.scream}/bin/scream -i virbr0 -o pulse";
|
||||
Restart = "always";
|
||||
};
|
||||
replaysorcery-kms = {
|
||||
description = "An open-source, instant-replay solution for Linux; KMS service";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.replaysorcery}/bin/replay-sorcery kms-service";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
replaysorcery-kms = {
|
||||
description = "An open-source, instant-replay solution for Linux; KMS service";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.replaysorcery}/bin/replay-sorcery kms-service";
|
||||
Restart = "always";
|
||||
};
|
||||
replaysorcery = {
|
||||
description = "An open-source, instant-replay solution for Linux";
|
||||
#wantedBy = [ "default.target" ];
|
||||
requires = [ "replaysorcery-kms.service" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.replaysorcery}/bin/replay-sorcery";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
replaysorcery = {
|
||||
description = "An open-source, instant-replay solution for Linux";
|
||||
#wantedBy = [ "default.target" ];
|
||||
requires = [ "replaysorcery-kms.service" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.replaysorcery}/bin/replay-sorcery";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user