diff options
author | Franck Cuny <franck@fcuny.net> | 2022-02-12 13:47:59 -0800 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-02-12 13:47:59 -0800 |
commit | 8ed3dfc9ebc52a50c3e6d4623204847822944422 (patch) | |
tree | 5ecaf4eb3719f6d60e471775cd6de5da7cb78b46 /hosts | |
parent | configs: move personal configuration with user (diff) | |
download | world-8ed3dfc9ebc52a50c3e6d4623204847822944422.tar.gz |
move configurations and modules around
Sorry, this is a mess, hopefully the last one.
Diffstat (limited to 'hosts')
-rw-r--r-- | hosts/commons/default.nix | 11 | ||||
-rw-r--r-- | hosts/commons/desktop/default.nix | 8 | ||||
-rw-r--r-- | hosts/commons/desktop/fonts.nix | 18 | ||||
-rw-r--r-- | hosts/commons/desktop/sound.nix | 20 | ||||
-rw-r--r-- | hosts/commons/desktop/xserver.nix | 23 | ||||
-rw-r--r-- | hosts/commons/system/boot.nix | 8 | ||||
-rw-r--r-- | hosts/commons/system/default.nix | 20 | ||||
-rw-r--r-- | hosts/commons/system/motd.nix | 12 | ||||
-rw-r--r-- | hosts/commons/system/network.nix (renamed from hosts/commons/network.nix) | 0 | ||||
-rw-r--r-- | hosts/commons/system/nix.nix | 18 | ||||
-rw-r--r-- | hosts/commons/system/software.nix | 29 | ||||
-rw-r--r-- | hosts/commons/system/ssh.nix | 5 | ||||
-rw-r--r-- | hosts/commons/system/users.nix | 25 |
13 files changed, 187 insertions, 10 deletions
diff --git a/hosts/commons/default.nix b/hosts/commons/default.nix index 4f35a15..0361d27 100644 --- a/hosts/commons/default.nix +++ b/hosts/commons/default.nix @@ -2,15 +2,6 @@ { imports = [ - ./network.nix + ./system ]; - - environment = { - # Activate home-manager environment, if not already enabled - loginShellInit = '' - [ -d "$HOME/.nix-profile" ] || /nix/var/nix/profiles/per-user/$USER/home-manager/activate &> /dev/null - ''; - homeBinInPath = true; - localBinInPath = true; - }; } diff --git a/hosts/commons/desktop/default.nix b/hosts/commons/desktop/default.nix new file mode 100644 index 0000000..f150066 --- /dev/null +++ b/hosts/commons/desktop/default.nix @@ -0,0 +1,8 @@ +{lib, config, pkgs, ...}: +{ + imports = [ + ./fonts.nix + ./sound.nix + ./xserver.nix + ]; +} diff --git a/hosts/commons/desktop/fonts.nix b/hosts/commons/desktop/fonts.nix new file mode 100644 index 0000000..a840582 --- /dev/null +++ b/hosts/commons/desktop/fonts.nix @@ -0,0 +1,18 @@ +{ pkgs, config, lib, ... }: + +{ + fonts = { + fontconfig.enable = true; + fonts = with pkgs; [ + noto-fonts-emoji + dejavu_fonts + source-code-pro + source-sans-pro + source-serif-pro + ]; + + fontconfig.defaultFonts = { + monospace = [ "Source Code Pro" ]; + }; + }; +} diff --git a/hosts/commons/desktop/sound.nix b/hosts/commons/desktop/sound.nix new file mode 100644 index 0000000..95c7c75 --- /dev/null +++ b/hosts/commons/desktop/sound.nix @@ -0,0 +1,20 @@ +{pkgs, config, lib, ...}: + +{ + sound.enable = true; + + environment.systemPackages = with pkgs; [ + # We install it to get access to pactl. It isn't enabled or run as a service. + pulseaudio + ]; + + services.pipewire = { + enable = true; + # Compatibility shims, adjust according to your needs + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + hardware.pulseaudio.enable = false; +} diff --git a/hosts/commons/desktop/xserver.nix b/hosts/commons/desktop/xserver.nix new file mode 100644 index 0000000..7537863 --- /dev/null +++ b/hosts/commons/desktop/xserver.nix @@ -0,0 +1,23 @@ +{ config, pkgs, lib, ... }: + +{ + services.xserver = { + enable = true; + layout = "us"; + xkbOptions = "eurosign:e,ctrl:swapcaps"; + libinput.enable = true; + + desktopManager = { + xterm.enable = false; + }; + + displayManager = { + lightdm.enable = true; + defaultSession = "none+i3"; + }; + + windowManager = { + i3.enable = true; + }; + }; +} diff --git a/hosts/commons/system/boot.nix b/hosts/commons/system/boot.nix new file mode 100644 index 0000000..974b072 --- /dev/null +++ b/hosts/commons/system/boot.nix @@ -0,0 +1,8 @@ +{ pkgs, config, lib, ... }: + +{ + boot = { + kernelPackages = pkgs.linuxPackages_latest; + tmpOnTmpfs = true; + }; +} diff --git a/hosts/commons/system/default.nix b/hosts/commons/system/default.nix new file mode 100644 index 0000000..64cb51b --- /dev/null +++ b/hosts/commons/system/default.nix @@ -0,0 +1,20 @@ +{pkgs, ... }: + +{ + imports = [ + ./boot.nix + ./motd.nix + ./network.nix + ./nix.nix + ./software.nix + ./ssh.nix + ./users.nix + ]; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; +} diff --git a/hosts/commons/system/motd.nix b/hosts/commons/system/motd.nix new file mode 100644 index 0000000..898d03f --- /dev/null +++ b/hosts/commons/system/motd.nix @@ -0,0 +1,12 @@ +{config, ...}: +{ + users.motd = '' + Welcome + - This machine is managed with nix + + Hostname: ${config.networking.hostName} + OS: NixOS ${config.system.nixos.release} (${config.system.nixos.codeName}) + Version: ${config.system.nixos.version} + Kernel: ${config.boot.kernelPackages.kernel.version} + ''; +} diff --git a/hosts/commons/network.nix b/hosts/commons/system/network.nix index df5aa27..df5aa27 100644 --- a/hosts/commons/network.nix +++ b/hosts/commons/system/network.nix diff --git a/hosts/commons/system/nix.nix b/hosts/commons/system/nix.nix new file mode 100644 index 0000000..48379a4 --- /dev/null +++ b/hosts/commons/system/nix.nix @@ -0,0 +1,18 @@ +{ lib, pkgs, ... }: + +{ + # Enable flakes and new 'nix' command + nix = { + package = pkgs.nixFlakes; + extraOptions = '' + experimental-features = nix-command flakes + ''; + autoOptimiseStore = true; + trustedUsers = [ "root" "@wheel" ]; + + gc = { + automatic = true; + options = "--delete-older-than 14d"; + }; + }; +} diff --git a/hosts/commons/system/software.nix b/hosts/commons/system/software.nix new file mode 100644 index 0000000..fa919ae --- /dev/null +++ b/hosts/commons/system/software.nix @@ -0,0 +1,29 @@ +{pkgs, config, lib, ...}: + +{ + environment.systemPackages = with pkgs; [ + curl + dmidecode + git + htop + hwdata + iftop + iptraf-ng + lm_sensors + lsb-release + mg + mtr + openssl + parted + pciutils + rsync + strace + tcpdump + tmux + traceroute + unzip + usbutils + vim + wget + ]; +} diff --git a/hosts/commons/system/ssh.nix b/hosts/commons/system/ssh.nix new file mode 100644 index 0000000..0ecca80 --- /dev/null +++ b/hosts/commons/system/ssh.nix @@ -0,0 +1,5 @@ +{ + # Enable the OpenSSH daemon. + services.openssh.enable = true; + services.openssh.permitRootLogin = "yes"; +} diff --git a/hosts/commons/system/users.nix b/hosts/commons/system/users.nix new file mode 100644 index 0000000..2b769c4 --- /dev/null +++ b/hosts/commons/system/users.nix @@ -0,0 +1,25 @@ +{ lib, pkgs, ... }: + +rec { + users.mutableUsers = false; + + users.groups.fcuny = { gid = 1000; }; + users.users.fcuny = { + isNormalUser = true; + uid = 1000; + group = "fcuny"; + home = "/home/fcuny"; + shell = pkgs.zsh; + extraGroups = [ "users" "wheel" ]; + hashedPassword = "$6$i.z1brxtb44JAEco$fDD2Izl.zRR9vBCB2VBKPScChGw38EEl7QEiBTJ/EwgP3oSL0X3ZHq0PJ.RtqzBsWTPUjl4F3MKOBMhnaAPr6."; + openssh.authorizedKeys.keys = [ + # aptops (laptop) + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1rWKrdSHxlAZnRv1F5jUsHgXSNmr1KzllWEn+JqA7p3zxmSEPBbfIUGxSzkFIQrSbKizJLdH6hGA8DcIm+e+ldQ2RYOdiYBxIkPm+aHB6dw7QGNbnSSdkr9gKThy65j0YOOcmuDExjqxfq6O/8AVstmPH36sUXEIks5F/+WiF+5ehzoJVFqClB1di6w1lml86d0ShrUacgM/ieFPe1vKrzW8ZOM+LaUoGWBTLla1y6UkIqnb7OinmgPu6QAzF6GA7tYJMoHkyV7Axzc2j1/VxVIrUrfY4b0k8lGAzi2GfByq+fXEHzePbaqi8Cy8Trn9eN/ls1WBMUQfSChQi3tM2Vx2BuiOpx/QkXsdgqwe7bTCijcQS7GoREL1qd8tR9sWWd4WMPUiC9kmzvyja5F39xHPgm0A5MtYY7GvQaUPbtBc6g8YuFLLnkqFVEKHSLFiGYP5jIDNvMd5rSSsBUrepCIzWdpprwnKxAjebw5Cyl5p/0MY2zppQRW7AZXehQa7Bv+OClbutEjBa+ioeUxBhezu2rB61XSenTbbUVB5DncD8ceD5AbL9aFz/Bcw6q0kAOGmR1G1MOLgxVHlqcnI5x0E1K2WMKWgQb+1BMek1p5+l3xWNDF4URhLqLupnP5CMrK9ifBOe/76zqyMVrA/mc6tNC58KHhME1IynC1zaLw== franck@fcuny.net" + ]; + }; + + users.users.root = { + hashedPassword = null; + openssh.authorizedKeys.keys = users.users.fcuny.openssh.authorizedKeys.keys; + }; +} |