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 = ''
|
||||
DefaultTimeoutStopSec=10s
|
||||
'';
|
||||
|
||||
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 = {
|
||||
polkit.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; [
|
||||
gtypist
|
||||
rclone
|
||||
|
@ -90,10 +45,6 @@
|
|||
ytfzf
|
||||
];
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
||||
nix = {
|
||||
|
@ -107,67 +58,13 @@
|
|||
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
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
|
||||
|
||||
./configuration.nix
|
||||
./hardware.nix
|
||||
./programs.nix
|
||||
./services
|
||||
./users.nix
|
||||
];
|
||||
|
||||
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