Split t490 configuration
This commit is contained in:
parent
96bbb1934a
commit
8dd338d8d5
|
@ -25,62 +25,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.throttled.enable = true;
|
|
||||||
services.thermald.enable = true;
|
|
||||||
services.power-profiles-daemon.enable = false;
|
|
||||||
|
|
||||||
systemd.extraConfig = ''
|
systemd.extraConfig = ''
|
||||||
DefaultTimeoutStopSec=10s
|
DefaultTimeoutStopSec=10s
|
||||||
'';
|
'';
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
services.xserver = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
xkb = {
|
|
||||||
layout = "gb";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.avahi.enable = true;
|
|
||||||
services.avahi.nssmdns4 = true;
|
|
||||||
services.avahi.openFirewall = true;
|
|
||||||
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
polkit.enable = true;
|
polkit.enable = true;
|
||||||
rtkit.enable = true;
|
rtkit.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
alsa = {
|
|
||||||
enable = true;
|
|
||||||
support32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.${username} = {
|
|
||||||
extraGroups = [ "media" ];
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
|
||||||
android-tools
|
|
||||||
via
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.groups.media = { };
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gtypist
|
gtypist
|
||||||
rclone
|
rclone
|
||||||
|
@ -90,10 +45,6 @@
|
||||||
ytfzf
|
ytfzf
|
||||||
];
|
];
|
||||||
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
|
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
@ -107,67 +58,13 @@
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
|
|
||||||
experimental-features = [
|
experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Make Caps lock work as an Escape key on press and Ctrl on hold.
|
|
||||||
services.interception-tools =
|
|
||||||
let
|
|
||||||
dfkConfig = pkgs.writeText "dual-function-keys.yaml" ''
|
|
||||||
MAPPINGS:
|
|
||||||
- KEY: KEY_CAPSLOCK
|
|
||||||
TAP: KEY_ESC
|
|
||||||
HOLD: KEY_LEFTCTRL
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ];
|
|
||||||
udevmonConfig = ''
|
|
||||||
- JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE"
|
|
||||||
DEVICE:
|
|
||||||
NAME: "AT Translated Set 2 keyboard"
|
|
||||||
EVENTS:
|
|
||||||
EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]]
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSSHSupport = true;
|
|
||||||
pinentryPackage = pkgs.pinentry-qt;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
languagePacks = [ "en-GB" ];
|
|
||||||
preferences = {
|
|
||||||
"intl.accept_languages" = "en-GB, en";
|
|
||||||
"intl.regional_prefs.use_os_locales" = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.blueman.enable = true;
|
|
||||||
|
|
||||||
services.cron = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
services.auto-cpufreq.enable = true;
|
|
||||||
|
|
||||||
services.udev = {
|
|
||||||
enable = true;
|
|
||||||
extraRules = ''
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,10 @@
|
||||||
../../users/opdavies
|
../../users/opdavies
|
||||||
|
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
|
./hardware.nix
|
||||||
|
./programs.nix
|
||||||
|
./services
|
||||||
|
./users.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
features = {
|
features = {
|
||||||
|
|
7
nix/hosts/t490/hardware.nix
Normal file
7
nix/hosts/t490/hardware.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
hardware = {
|
||||||
|
bluetooth.enable = true;
|
||||||
|
|
||||||
|
pulseaudio.enable = false;
|
||||||
|
};
|
||||||
|
}
|
22
nix/hosts/t490/programs.nix
Normal file
22
nix/hosts/t490/programs.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
pinentryPackage = pkgs.pinentry-qt;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
languagePacks = [ "en-GB" ];
|
||||||
|
|
||||||
|
preferences = {
|
||||||
|
"intl.accept_languages" = "en-GB, en";
|
||||||
|
"intl.regional_prefs.use_os_locales" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
35
nix/hosts/t490/services/default.nix
Normal file
35
nix/hosts/t490/services/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ username, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./interception-tools.nix
|
||||||
|
./sound.nix
|
||||||
|
./xserver.nix
|
||||||
|
./udev.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
auto-cpufreq.enable = true;
|
||||||
|
|
||||||
|
avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
blueman.enable = true;
|
||||||
|
|
||||||
|
cron = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
systemCronJobs = [ "* * * * * opdavies /home/${username}/.local/bin/notify-battery" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
gvfs.enable = true;
|
||||||
|
openssh.enable = true;
|
||||||
|
power-profiles-daemon.enable = false;
|
||||||
|
printing.enable = true;
|
||||||
|
throttled.enable = true;
|
||||||
|
thermald.enable = true;
|
||||||
|
};
|
||||||
|
}
|
25
nix/hosts/t490/services/interception-tools.nix
Normal file
25
nix/hosts/t490/services/interception-tools.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Make Caps lock work as an Escape key on press and Ctrl on hold.
|
||||||
|
services.interception-tools =
|
||||||
|
let
|
||||||
|
dfkConfig = pkgs.writeText "dual-function-keys.yaml" ''
|
||||||
|
MAPPINGS:
|
||||||
|
- KEY: KEY_CAPSLOCK
|
||||||
|
TAP: KEY_ESC
|
||||||
|
HOLD: KEY_LEFTCTRL
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
plugins = pkgs.lib.mkForce [ pkgs.interception-tools-plugins.dual-function-keys ];
|
||||||
|
udevmonConfig = ''
|
||||||
|
- JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dfkConfig} | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE"
|
||||||
|
DEVICE:
|
||||||
|
NAME: "AT Translated Set 2 keyboard"
|
||||||
|
EVENTS:
|
||||||
|
EV_KEY: [[KEY_CAPSLOCK, KEY_ESC, KEY_LEFTCTRL]]
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
12
nix/hosts/t490/services/sound.nix
Normal file
12
nix/hosts/t490/services/sound.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
alsa = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
}
|
9
nix/hosts/t490/services/udev.nix
Normal file
9
nix/hosts/t490/services/udev.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
services.udev = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
extraRules = ''
|
||||||
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
10
nix/hosts/t490/services/xserver.nix
Normal file
10
nix/hosts/t490/services/xserver.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
xkb = {
|
||||||
|
layout = "gb";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
14
nix/hosts/t490/users.nix
Normal file
14
nix/hosts/t490/users.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, username, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
users.users.${username} = {
|
||||||
|
extraGroups = [ "media" ];
|
||||||
|
|
||||||
|
packages = with pkgs; [
|
||||||
|
android-tools
|
||||||
|
via
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.media = { };
|
||||||
|
}
|
Loading…
Reference in a new issue