add lemur

This commit is contained in:
Ray Andrew 2025-03-08 18:21:21 -06:00
parent a33760967c
commit 2914475e98
No known key found for this signature in database
6 changed files with 175 additions and 0 deletions

View file

@ -20,6 +20,14 @@ in
}; };
config = lib.mkIf (config.custom.email.enable && config.custom.email.neomutt) { config = lib.mkIf (config.custom.email.enable && config.custom.email.neomutt) {
xsession.windowManager.i3.config = let
i3config = config.xsession.windowManager.i3.config;
in {
keybindings = lib.mkOptionDefault {
"${i3config.modifier}+m" = "exec --no-startup-id ${i3config.terminal} -e ${config.programs.neomutt.package}/bin/neomutt";
};
};
programs.neomutt = { programs.neomutt = {
enable = true; enable = true;
vimKeys = false; vimKeys = false;

View file

@ -28,6 +28,22 @@
}; };
}; };
programs.vscode = {
enable = true;
extensions = with pkgs.vscode-extensions; [
bbenoist.nix
ms-python.python
ms-vscode-remote.remote-ssh
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "remote-ssh-edit";
publisher = "ms-vscode-remote";
version = "0.87.0";
sha256 = "sha256-yeX6RAJl07d+SuYyGQFLZNcUzVKAsmPFyTKEn+y3GuM=";
}
];
};
home.packages = with pkgs; [ home.packages = with pkgs; [
inputs.zen-browser.packages."${system}".twilight inputs.zen-browser.packages."${system}".twilight
# globalprotect-openconnect # globalprotect-openconnect
@ -46,7 +62,9 @@
xfce.thunar xfce.thunar
xfce.thunar-volman xfce.thunar-volman
xclip xclip
quickemu
# fonts # fonts
ultimate-oldschool-pc-font-pack
vista-fonts vista-fonts
nerd-fonts.ubuntu-mono nerd-fonts.ubuntu-mono
nerd-fonts.iosevka nerd-fonts.iosevka

View file

@ -63,5 +63,6 @@ in
{ {
nixosConfigurations = { nixosConfigurations = {
pickwick = mkNixosConfiguration "pickwick" { }; pickwick = mkNixosConfiguration "pickwick" { };
lemur = mkNixosConfiguration "lemur" { };
}; };
} }

57
hosts/lemur/default.nix Normal file
View file

@ -0,0 +1,57 @@
{
inputs,
lib,
config,
pkgs,
system,
dots,
user,
hm,
host,
...
}: {
imports = [
./hardware.nix
];
custom = {
keyd = {
enable = true;
ids = [ ];
};
displaymanager.enable = true;
_1password.enable = true;
audio.enable = true;
bluetooth.enable = true;
sops.enable = true;
};
services.fwupd.enable = true;
time.timeZone = "America/Chicago";
users.users = {
${user} = {
initialPassword = "abc123";
isNormalUser = true;
openssh.authorizedKeys.keys = [];
extraGroups = ["wheel" "video" "audio" "networkmanager"];
};
};
# home manager
hm.custom = {
latex.enable = true;
gui = {
default.enable = true;
i3.enable = true;
ghostty.enable = true;
};
email = {
enable = true;
davmail = true;
neomutt = true;
mbsync = true;
};
};
}

66
hosts/lemur/disko.nix Normal file
View file

@ -0,0 +1,66 @@
{
device ? throw "select device"
, ...
}:
{
disko.devices = {
disk = {
main = {
inherit device;
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
name = "boot";
size = "1M";
type = "EF02";
};
ESP = {
priority = 1;
size = "1G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"defaults"
"umask=0077"
];
extraArgs = [
"-n"
"BOOT"
];
};
};
swap = {
size = "108G";
content = {
type = "swap";
discardPolicy = "both";
resumeDevice = true;
extraArgs = [
"--label"
"SWAP"
];
};
};
root = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
extraArgs = [
"-L"
"ROOT"
];
};
};
};
};
};
};
};
}

25
hosts/lemur/hardware.nix Normal file
View file

@ -0,0 +1,25 @@
{ config, lib, pkgs, modulesPath, inputs, ... }:
{
boot.loader.systemd-boot.enable = true;
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
(import ./disko.nix { device = "/dev/nvme0n1"; })
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
swapDevices = [
{
device = "/dev/disk/by-label/SWAP";
}
];
zramSwap.enable = true;
}