Merge branch 'main' into worksway

This commit is contained in:
Alexander Wainwright
2026-01-20 10:44:18 +10:00
21 changed files with 824 additions and 199 deletions

View File

@@ -11,6 +11,16 @@
shell = pkgs.fish;
};
# this is to avoid some problem that happens apparently only when fish is
# enabled, where generating man cahes takes a very long time. note that it may
# break fish man completion and apropos.
documentation.man.generateCaches = false;
# enable a 1GB swap file
swapDevices = [{
device = "/swapfile";
size = 1024;
}];
# enable zram. not totally sure if this does it in physical ram or just swap
zramSwap.enable = true;
@@ -80,6 +90,7 @@
# domain = true; # Announce the locally used domain name (usually .local)
# userServices = true; # Publish services advertised by users
};
openFirewall = true;
# If you're using systemd-resolved alongside Avahi, ensure mDNS is also enabled there:
# services.resolved.enable = true;
# services.resolved.extraConfig = "MulticastDNS=yes";

View File

@@ -0,0 +1,11 @@
-----BEGIN CERTIFICATE-----
MIIBpDCCAUqgAwIBAgIRAO4kQX8a7Nof29aVPoDM0p4wCgYIKoZIzj0EAwIwMDEu
MCwGA1UEAxMlQ2FkZHkgTG9jYWwgQXV0aG9yaXR5IC0gMjAyNSBFQ0MgUm9vdDAe
Fw0yNTA5MDQxMzAzNTFaFw0zNTA3MTQxMzAzNTFaMDAxLjAsBgNVBAMTJUNhZGR5
IExvY2FsIEF1dGhvcml0eSAtIDIwMjUgRUNDIFJvb3QwWTATBgcqhkjOPQIBBggq
hkjOPQMBBwNCAASWhBhJwcavZ/tI6bVqRGPfj0J5vZOZo8xcO4QYFdXkc/2rzWOt
kJic/Z/rEi64rXDc2mGQszT2dmk+wasnxIA/o0UwQzAOBgNVHQ8BAf8EBAMCAQYw
EgYDVR0TAQH/BAgwBgEB/wIBATAdBgNVHQ4EFgQUTGymcFS/WrGNAK+4frV1qEcZ
djcwCgYIKoZIzj0EAwIDSAAwRQIhANu5ZzCZJhLmkMGJt7fvmWW0Vi4cl/cjhhv4
f2f8rNECAiBwLaVmz34G4vXKcGH9Hi9PXM3HrMkVQgOo3pCyWxrIug==
-----END CERTIFICATE-----

View File

@@ -1,18 +1,26 @@
{ config, pkgs, inputs, ... }:
{
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "dvorak";
services.xserver = {
enable = true;
xkb = {
layout = "us";
variant = "dvorak";
};
};
# Trust the Caddy Local Authority
security.pki.certificateFiles = [
./certs/alt-caddy.crt
];
services.displayManager.gdm = {
enable = true;
wayland = true;
};
services.desktopManager.gnome.enable = true;
# enable japanese input
i18n.inputMethod = {
enable = true;
@@ -28,7 +36,6 @@
enableDefaultPackages = true;
packages = with pkgs; [
bitwarden-desktop
khmeros
libreoffice-fresh
nerd-fonts.lilex
@@ -41,6 +48,12 @@
];
};
environment.systemPackages = with pkgs; [
libreoffice-fresh
meld
showtime
];
# Enable networking
networking.networkmanager.enable = true;
@@ -67,5 +80,10 @@
# services.xserver.libinput.enable = true;
# Install firefox.
programs.firefox.enable = true;
programs.firefox = {
enable = true;
languagePacks = [
"en-GB"
];
};
}

View File

@@ -1,24 +0,0 @@
{ config, pkgs, inputs, ... }:
{
# Mullvad vpn
services.mullvad-vpn = {
enable = true;
};
environment.systemPackages = with pkgs; [
foliate
inputs.locutus.packages.${pkgs.system}.default
jrnl
mullvad-browser
mullvad-vpn
tor-browser
exiftool
darktable
digikam
shotwell
nextcloud-client
bitwarden-desktop
signal-desktop
spotify
];
}

View File

@@ -0,0 +1,9 @@
{ config, pkgs, inputs, ... }:
{
# Mullvad vpn
services.mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
hardware.ledger.enable = true;
}

27
hosts/modules/sway.nix Normal file
View File

@@ -0,0 +1,27 @@
{ config, pkgs, ... }:
{
# Enable the Sway binary and hardware wrappers
programs.sway = {
enable = true;
package = pkgs.swayfx;
wrapperFeatures.gtk = true;
};
# Ensure xdg-desktop-portal is working (needed for file pickers/open with)
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
# Hardware and security services that must be system-wide
services.gnome.gnome-keyring.enable = true;
security.polkit.enable = true;
programs.light.enable = true; # Allow brightness control
# Move system-wide packages here
environment.systemPackages = with pkgs; [
pavucontrol
light
];
}

View File

@@ -0,0 +1,11 @@
{ config, pkgs, inputs, ... }:
{
# sync thing
services.syncthing = {
enable = true;
openDefaultPorts = true;
user = "alex";
configDir = "/home/alex/.config/syncthing";
dataDir = "/home/alex";
};
}