Compare commits
4 commits
78ab704ca3
...
c52624db8f
Author | SHA1 | Date | |
---|---|---|---|
c52624db8f | |||
7ce2abb122 | |||
79527c7663 | |||
f4772d075a |
9 changed files with 137 additions and 62 deletions
|
@ -1,53 +0,0 @@
|
||||||
{ inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../nix-os/core.nix
|
|
||||||
../nix-os/core-desktop.nix
|
|
||||||
../nix-os/nvidia.nix
|
|
||||||
../nix-os/docker.nix
|
|
||||||
../nix-os/razer.nix
|
|
||||||
../nix-os/desktopManagers/gnome.nix
|
|
||||||
../nix-os/displayManagers/gdm.nix
|
|
||||||
#../nix-os/desktop/kde-plasma.nix
|
|
||||||
../nix-os/shell.nix
|
|
||||||
../nix-os/virtualization.nix
|
|
||||||
../nix-os/polkit/disable-shutdown.nix
|
|
||||||
../nix-os/locale.nix
|
|
||||||
../nix-os/adb.nix
|
|
||||||
../nix-os/account.nix
|
|
||||||
../nix-os/xdg-default-apps.nix
|
|
||||||
../nix-os/services/nix-binary-cache.nix
|
|
||||||
../nix-os/udev.nix
|
|
||||||
../nix-os/gnupg.nix
|
|
||||||
|
|
||||||
"${inputs.nixos-vscode-server}"
|
|
||||||
];
|
|
||||||
|
|
||||||
config = {
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
networking.hostName = "wroclaw-main";
|
|
||||||
|
|
||||||
services.xrdp.enable = true;
|
|
||||||
users.groups."tsusers".members = [ "wroclaw" ];
|
|
||||||
|
|
||||||
services.printing.drivers = with pkgs; [
|
|
||||||
hplip
|
|
||||||
];
|
|
||||||
|
|
||||||
# nixos-vscode-server module needs this
|
|
||||||
programs.nix-ld.enable = true;
|
|
||||||
services.vscode-server = {
|
|
||||||
enable = true;
|
|
||||||
extraRuntimeDependencies = with pkgs; [
|
|
||||||
docker
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
services.printing.startWhenNeeded = false;
|
|
||||||
|
|
||||||
system.stateVersion = "23.05";
|
|
||||||
};
|
|
||||||
}
|
|
64
hosts/main/default.nix
Normal file
64
hosts/main/default.nix
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
{ inputs, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../../nix-os/core.nix
|
||||||
|
../../nix-os/core-desktop.nix
|
||||||
|
../../nix-os/nvidia.nix
|
||||||
|
../../nix-os/docker.nix
|
||||||
|
../../nix-os/razer.nix
|
||||||
|
../../nix-os/desktopManagers/gnome.nix
|
||||||
|
../../nix-os/displayManagers/gdm.nix
|
||||||
|
../../nix-os/shell.nix
|
||||||
|
../../nix-os/virtualization.nix
|
||||||
|
../../nix-os/polkit/disable-shutdown.nix
|
||||||
|
../../nix-os/locale.nix
|
||||||
|
../../nix-os/adb.nix
|
||||||
|
../../nix-os/account.nix
|
||||||
|
../../nix-os/xdg-default-apps.nix
|
||||||
|
../../nix-os/services/nix-binary-cache.nix
|
||||||
|
../../nix-os/udev.nix
|
||||||
|
../../nix-os/gnupg.nix
|
||||||
|
|
||||||
|
"${inputs.nixos-vscode-server}"
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking.hostName = "wroclaw-main";
|
||||||
|
|
||||||
|
services.xrdp.enable = true;
|
||||||
|
users.groups."tsusers".members = [ "wroclaw" ];
|
||||||
|
|
||||||
|
services.printing.drivers = with pkgs; [
|
||||||
|
hplip
|
||||||
|
];
|
||||||
|
|
||||||
|
# nixos-vscode-server module needs this
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
services.vscode-server = {
|
||||||
|
enable = true;
|
||||||
|
extraRuntimeDependencies = with pkgs; [
|
||||||
|
docker
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.pipewire.wireplumber.configPackages = [(
|
||||||
|
pkgs.stdenvNoCC.mkDerivation {
|
||||||
|
name = "wireplumber-config";
|
||||||
|
src = ./wireplumber;
|
||||||
|
phases = [ "installPhase" ];
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/wireplumber/wireplumber.conf.d
|
||||||
|
cp -r $src/* $out/share/wireplumber/wireplumber.conf.d
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
)];
|
||||||
|
|
||||||
|
services.printing.startWhenNeeded = false;
|
||||||
|
|
||||||
|
system.stateVersion = "23.05";
|
||||||
|
};
|
||||||
|
}
|
10
hosts/main/wireplumber/51-digital-output.conf
Normal file
10
hosts/main/wireplumber/51-digital-output.conf
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
monitor.alsa.rules = [{
|
||||||
|
matches = [{
|
||||||
|
node.name = "alsa_output.pci-0000_00_1f.3.iec958-stereo"
|
||||||
|
}]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Digital Output"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
10
hosts/main/wireplumber/51-hdmi-otuput.conf
Normal file
10
hosts/main/wireplumber/51-hdmi-otuput.conf
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
monitor.alsa.rules = [{
|
||||||
|
matches = [{
|
||||||
|
node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo"
|
||||||
|
}]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Monitor speakers"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
11
hosts/main/wireplumber/51-razerHeadphones-device.conf
Normal file
11
hosts/main/wireplumber/51-razerHeadphones-device.conf
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
monitor.alsa.rules = [{
|
||||||
|
matches = [{
|
||||||
|
device.name = "alsa_card.usb-Razer_Razer_USB_Audio_Controller_000000000000000000000000-00"
|
||||||
|
}]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
device.description = "Headphones"
|
||||||
|
device.profile = "Pro Audio"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
10
hosts/main/wireplumber/51-razerHeadphones-input.conf
Normal file
10
hosts/main/wireplumber/51-razerHeadphones-input.conf
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
monitor.alsa.rules = [{
|
||||||
|
matches = [{
|
||||||
|
node.name = "alsa_input.usb-Razer_Razer_USB_Audio_Controller_000000000000000000000000-00.pro-input-0"
|
||||||
|
}]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Headphones"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
22
hosts/main/wireplumber/51-razerHeadphones-output.conf
Normal file
22
hosts/main/wireplumber/51-razerHeadphones-output.conf
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
monitor.alsa.rules = [
|
||||||
|
{
|
||||||
|
matches = [{
|
||||||
|
node.name = "alsa_output.usb-Razer_Razer_USB_Audio_Controller_000000000000000000000000-00.pro-output-0"
|
||||||
|
}]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Headphones (Chat)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [{
|
||||||
|
node.name = "alsa_output.usb-Razer_Razer_USB_Audio_Controller_000000000000000000000000-00.pro-output-1"
|
||||||
|
}]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Headphones (Game)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
4
lock.nix
4
lock.nix
|
@ -4,7 +4,7 @@
|
||||||
sha256 = "1rq8mrlmbzpcbv9ys0x88alw30ks70jlmvnfr2j8v830yy5wvw7h";
|
sha256 = "1rq8mrlmbzpcbv9ys0x88alw30ks70jlmvnfr2j8v830yy5wvw7h";
|
||||||
};
|
};
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
revision = "0c53b6b8c2a3e46c68e04417e247bba660689c9d";
|
revision = "05405724efa137a0b899cce5ab4dde463b4fd30b";
|
||||||
sha256 = "02ag4j9v48h861bakxf7nvcz85wl6dv8wvfj0v1r7v7j8jpwp8vg";
|
sha256 = "06490pn22x9xl4chfx12iwdgx7nlbn14v8x05rnv2y1nancljisl";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
15
outputs.nix
15
outputs.nix
|
@ -22,22 +22,22 @@ self = {
|
||||||
filePaths = lib.pipe ./hosts [
|
filePaths = lib.pipe ./hosts [
|
||||||
builtins.readDir
|
builtins.readDir
|
||||||
( lib.filterAttrs (name: type:
|
( lib.filterAttrs (name: type:
|
||||||
# filter out non-nix files
|
( # regular .nix files
|
||||||
type == "regular"
|
(type == "regular" && lib.hasSuffix ".nix" name)
|
||||||
# filter out files that don't end in .nix
|
|| # directories that contain a default.nix file
|
||||||
&& lib.hasSuffix ".nix" name
|
(type == "directory" && builtins.pathExists "${./hosts}/${name}/default.nix")
|
||||||
|
)
|
||||||
# filter out files that start with .
|
# filter out files that start with .
|
||||||
&& !lib.hasPrefix "." name
|
&& !lib.hasPrefix "." name
|
||||||
))
|
))
|
||||||
(lib.mapAttrsToList (name: _: name))
|
|
||||||
];
|
];
|
||||||
nixosSystem = import "${inputs.nixpkgs}/nixos/lib/eval-config.nix";
|
nixosSystem = import "${inputs.nixpkgs}/nixos/lib/eval-config.nix";
|
||||||
in
|
in
|
||||||
# mapped list of nix file paths to attrSet with initialized NixOS configurations,
|
# mapped list of nix file paths to attrSet with initialized NixOS configurations,
|
||||||
# whose names are derived from file names
|
# whose names are derived from file names
|
||||||
lib.pipe filePaths [
|
lib.pipe filePaths [
|
||||||
(builtins.map (name: {
|
(builtins.mapAttrs (name: type: {
|
||||||
name = builtins.substring 0 (builtins.stringLength name - 4) name;
|
name = if type == "directory" then name else builtins.substring 0 (builtins.stringLength name - 4) name;
|
||||||
value = nixosSystem {
|
value = nixosSystem {
|
||||||
inherit lib;
|
inherit lib;
|
||||||
modules = [
|
modules = [
|
||||||
|
@ -53,6 +53,7 @@ self = {
|
||||||
specialArgs = { inherit self inputs; };
|
specialArgs = { inherit self inputs; };
|
||||||
};
|
};
|
||||||
}))
|
}))
|
||||||
|
builtins.attrValues
|
||||||
builtins.listToAttrs
|
builtins.listToAttrs
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue