about summary refs log tree commit diff
path: root/machines/x220
diff options
context:
space:
mode:
Diffstat (limited to 'machines/x220')
-rw-r--r--machines/x220/configuration.nix123
-rw-r--r--machines/x220/default.nix6
-rwxr-xr-xmachines/x220/hardware-configuration.nix8
3 files changed, 137 insertions, 0 deletions
diff --git a/machines/x220/configuration.nix b/machines/x220/configuration.nix
new file mode 100644
index 0000000..072ebaa
--- /dev/null
+++ b/machines/x220/configuration.nix
@@ -0,0 +1,123 @@
+{ pkgs, ... }:
+
+let
+  busybox_utils = pkgs.stdenv.mkDerivation {
+    name = "strings";
+    unpackPhase = "true";
+    installPhase = ''
+      mkdir -p $out/bin
+      cp ${pkgs.busybox}/bin/strings $out/bin/strings
+      cp ${pkgs.busybox}/bin/telnet $out/bin/telnet
+    '';
+  };
+in
+{
+  imports = [
+    ../base.nix
+    ../pl.nix
+    ../../modules/larbs.nix
+    ../../modules/internet.nix
+    ../../modules/dockd.nix
+    ../../modules/trackpad.nix
+    ../../modules/agetty.nix
+  ];
+
+  boot.plymouth.enable = true;
+
+  networking = {
+    hostName = "x220";
+
+    networkmanager = {
+     enable = true;
+     wifi.backend = "iwd";
+    };
+  };
+
+  nixpkgs.config.allowUnfree = true;
+
+
+  environment.systemPackages = with pkgs; [
+    # Basic tools
+    groff file ssh-ident busybox_utils
+
+    # XORG perfs
+    dunst xclip
+    xwallpaper xdotool
+
+    # UI apps
+    zathura brave sxiv pulsemixer
+    lynx lf arandr wpa_supplicant_gui
+    system-config-printer libreoffice
+    vscodium abook
+
+    # Audio/Video
+    mpd mpc_cli mpv ffmpeg youtube-dl
+
+    # CLIs
+    lm_sensors
+    gitAndTools.gh docker-compose xsel
+    bc libnotify
+    pamixer maim killall
+    quickserve ueberzug chafa
+
+    # Thinkpad utils
+    nur.repos.pn.dockd acpi tpacpi-bat
+
+    wineStaging
+
+  ];
+
+  fonts.fonts = with pkgs; [
+    roboto-slab
+  ];
+
+  programs.gnupg = {
+    agent = {
+      enable = true;
+      enableSSHSupport = true;
+      pinentryFlavor = "gnome3";
+    };
+  };
+
+  programs.browserpass.enable = true;
+  programs.dockd.enable = true;
+
+  virtualisation.docker.enable = true;
+
+  services.udev.packages = [ pkgs.libu2f-host ];
+
+  services.pcscd.enable = true;
+
+  services.agetty = {
+    defaultUser = "pn";
+  };
+
+  services.printing = {
+    enable = true;
+    drivers = [ pkgs.epson_201207w ];
+  };
+  hardware.sane.enable = true;
+
+  services.cron.enable = true;
+  # services.fcron.enable = true;
+
+  services.acpid.enable = true;
+
+  # Battery
+  services.tlp.enable = true;
+
+  services.xserver.wacom = {
+    enable = true;
+  };
+
+  users.users.pn.extraGroups = [ "docker" "scanner" "lp" ];
+
+  security.pam.u2f = {
+    enable = true;
+    cue = true;
+    interactive = true;
+    #control = "required";
+    #control = "requisite";
+  };
+
+}
diff --git a/machines/x220/default.nix b/machines/x220/default.nix
new file mode 100644
index 0000000..cd4010f
--- /dev/null
+++ b/machines/x220/default.nix
@@ -0,0 +1,6 @@
+{
+  imports = [
+    ./hardware-configuration.nix
+    ./configuration.nix
+  ];
+}
diff --git a/machines/x220/hardware-configuration.nix b/machines/x220/hardware-configuration.nix
index 3b34522..935e986 100755
--- a/machines/x220/hardware-configuration.nix
+++ b/machines/x220/hardware-configuration.nix
@@ -15,6 +15,14 @@
   boot.kernelModules = [ "kvm-intel" "tp_smapi" ];
   boot.extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ];
 
+
+  boot.loader.grub.enable = true;
+  boot.loader.grub.version = 2;
+  boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
+
+  boot.plymouth.enable = true;
+
+
   fileSystems."/" =
     { device = "/dev/disk/by-uuid/e00c989b-b3fd-469e-b894-ea609fb4d7fa";
       fsType = "ext4";