Move Nix files back to the root of the project
This commit is contained in:
parent
52044d9995
commit
087153a16d
223 changed files with 12 additions and 12 deletions
68
hosts/t490/configuration.nix
Normal file
68
hosts/t490/configuration.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{ inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./hardware.nix
|
||||
./programs.nix
|
||||
./secrets.nix
|
||||
./services
|
||||
./users.nix
|
||||
|
||||
./modules/docker.nix
|
||||
|
||||
../common
|
||||
../../users/opdavies
|
||||
];
|
||||
|
||||
nixosModules = {
|
||||
dwm.enable = true;
|
||||
gaming.enable = true;
|
||||
redshift.enable = true;
|
||||
st.enable = true;
|
||||
thunar.enable = true;
|
||||
peek.enable = true;
|
||||
};
|
||||
|
||||
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||||
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 10;
|
||||
};
|
||||
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.extraConfig = ''
|
||||
DefaultTimeoutStopSec=10s
|
||||
'';
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
security = {
|
||||
polkit.enable = true;
|
||||
rtkit.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
gtypist
|
||||
pam_gnupg
|
||||
rclone
|
||||
rclone-browser
|
||||
sxiv
|
||||
ttyper
|
||||
yt-dlp
|
||||
];
|
||||
|
||||
zramSwap.enable = true;
|
||||
|
||||
networking.hosts = {
|
||||
"192.168.1.116" = [ "nixedo" ];
|
||||
};
|
||||
}
|
54
hosts/t490/hardware-configuration.nix
Normal file
54
hosts/t490/hardware-configuration.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"nvme"
|
||||
"usb_storage"
|
||||
"sd_mod"
|
||||
"rtsx_pci_sdmmc"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/001febe7-57e8-4c9a-bbaf-52c3d8305b63";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/5F0A-3374";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0077"
|
||||
"dmask=0077"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
5
hosts/t490/hardware.nix
Normal file
5
hosts/t490/hardware.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
hardware = {
|
||||
bluetooth.enable = true;
|
||||
};
|
||||
}
|
3
hosts/t490/modules/docker.nix
Normal file
3
hosts/t490/modules/docker.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
virtualisation.docker.enable = true;
|
||||
}
|
7
hosts/t490/programs.nix
Normal file
7
hosts/t490/programs.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
};
|
||||
}
|
5
hosts/t490/secrets.nix
Normal file
5
hosts/t490/secrets.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
age.secrets = {
|
||||
cloudflare.file = ../../secrets/cloudflare.age;
|
||||
};
|
||||
}
|
12
hosts/t490/services/cron.nix
Normal file
12
hosts/t490/services/cron.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services.cron = {
|
||||
enable = true;
|
||||
|
||||
systemCronJobs = [
|
||||
"*/15 * * * * opdavies ${pkgs.imapfilter}/bin/imapfilter -c ~/Code/email-filters/config.lua"
|
||||
"0 8,20 * * * opdavies ${pkgs.isync}/bin/mbsync -a"
|
||||
];
|
||||
};
|
||||
}
|
31
hosts/t490/services/default.nix
Normal file
31
hosts/t490/services/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
imports = [
|
||||
./cron.nix
|
||||
./interception-tools.nix
|
||||
./redshift.nix
|
||||
./sound.nix
|
||||
./udev.nix
|
||||
./xserver.nix
|
||||
];
|
||||
|
||||
services = {
|
||||
auto-cpufreq.enable = true;
|
||||
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
blueman.enable = true;
|
||||
|
||||
gvfs.enable = true;
|
||||
openssh.enable = true;
|
||||
power-profiles-daemon.enable = false;
|
||||
printing.enable = true;
|
||||
pulseaudio.enable = false;
|
||||
throttled.enable = true;
|
||||
thermald.enable = true;
|
||||
upower.enable = true;
|
||||
};
|
||||
}
|
25
hosts/t490/services/interception-tools.nix
Normal file
25
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]]
|
||||
'';
|
||||
};
|
||||
}
|
31
hosts/t490/services/redshift.nix
Normal file
31
hosts/t490/services/redshift.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.nixosModules.redshift;
|
||||
in
|
||||
{
|
||||
options.nixosModules.redshift.enable = mkEnableOption "Enable redshift";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
location = {
|
||||
latitude = 51.48;
|
||||
longitude = -3.17;
|
||||
};
|
||||
|
||||
services.redshift = {
|
||||
enable = true;
|
||||
|
||||
brightness = {
|
||||
day = "1";
|
||||
night = "1";
|
||||
};
|
||||
|
||||
temperature = {
|
||||
day = 5500;
|
||||
night = 3700;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
12
hosts/t490/services/sound.nix
Normal file
12
hosts/t490/services/sound.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
|
||||
pulse.enable = true;
|
||||
};
|
||||
}
|
9
hosts/t490/services/udev.nix
Normal file
9
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
hosts/t490/services/xserver.nix
Normal file
10
hosts/t490/services/xserver.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
|
||||
xkb = {
|
||||
layout = "gb";
|
||||
variant = "";
|
||||
};
|
||||
};
|
||||
}
|
15
hosts/t490/users.nix
Normal file
15
hosts/t490/users.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ pkgs, username, ... }:
|
||||
|
||||
{
|
||||
users.users.${username} = {
|
||||
extraGroups = [ "media" ];
|
||||
|
||||
packages = with pkgs; [
|
||||
abook
|
||||
android-tools
|
||||
via
|
||||
];
|
||||
};
|
||||
|
||||
users.groups.media = { };
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue