Merge remote-tracking branch 'catboy/main'

This commit is contained in:
xenia 2024-06-23 22:53:17 +02:00
commit 3bafc3e76d
8 changed files with 109 additions and 259 deletions

View File

@ -1,28 +1,5 @@
{
"nodes": {
"agda": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": [
"rachel",
"nixpkgs"
]
},
"locked": {
"lastModified": 1701366566,
"narHash": "sha256-B8Jmjld0gGbkVO08GsovVqrUXCs8VfJ8UdM3sjHnzgM=",
"owner": "agda",
"repo": "agda",
"rev": "4293e0a94d15acac915ab9088b2ec028f78d14a9",
"type": "github"
},
"original": {
"owner": "agda",
"ref": "v2.6.4.1",
"repo": "agda",
"type": "github"
}
},
"ansi-utils": {
"inputs": {
"flake-utils": "flake-utils",
@ -44,45 +21,6 @@
"url": "https://git@githug.xyz/xenia/ansi-utils"
}
},
"cornelis": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_4",
"nixpkgs": [
"rachel",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712595875,
"narHash": "sha256-KaAhKeESwOQ0R0vxeAO/CDPiPimiemoARyr0uIVTQ4w=",
"owner": "isovector",
"repo": "cornelis",
"rev": "9d3347e7d8589a28bcdd283001367d60bacf6b05",
"type": "github"
},
"original": {
"owner": "isovector",
"repo": "cornelis",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
@ -120,42 +58,9 @@
}
},
"flake-utils_3": {
"locked": {
"lastModified": 1678901627,
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_5": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
@ -170,9 +75,9 @@
"type": "github"
}
},
"flake-utils_6": {
"flake-utils_4": {
"inputs": {
"systems": "systems_5"
"systems": "systems_4"
},
"locked": {
"lastModified": 1694529238,
@ -209,28 +114,6 @@
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"rachel",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712386041,
"narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.11",
"repo": "home-manager",
"type": "github"
}
},
"kak": {
"inputs": {
"flake-utils": "flake-utils_2",
@ -288,63 +171,6 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1713297878,
"narHash": "sha256-hOkzkhLT59wR8VaMbh1ESjtZLbGi+XNaBN6h49SPqEc=",
"owner": "NixOs",
"repo": "nixpkgs",
"rev": "66adc1e47f8784803f2deb6cacd5e07264ec2d5c",
"type": "github"
},
"original": {
"owner": "NixOs",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1711703276,
"narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"rachel": {
"inputs": {
"agda": "agda",
"cornelis": "cornelis",
"home-manager": "home-manager_2",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-unstable": "nixpkgs-unstable",
"ssbm-nix": "ssbm-nix"
},
"locked": {
"lastModified": 1717095319,
"narHash": "sha256-CdOAT2MhNtxLf0Ki4d/mT9jQQZaIOfrCBZXHwJRgWYg=",
"ref": "refs/heads/master",
"rev": "7f19d4efe9fc7977b85a1f51b396e63ff8102b87",
"revCount": 137,
"type": "git",
"url": "https://git@githug.xyz/rachel/nixos-config"
},
"original": {
"type": "git",
"url": "https://git@githug.xyz/rachel/nixos-config"
}
},
"root": {
"inputs": {
"ansi-utils": "ansi-utils",
@ -352,46 +178,10 @@
"kak": "kak",
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs",
"rachel": "rachel",
"unambig-path": "unambig-path",
"unispect": "unispect"
}
},
"slippi-desktop": {
"flake": false,
"locked": {
"lastModified": 1711346593,
"narHash": "sha256-WWgGRT58w1a4UcEe924hqa4ZVodQtsbXC44aCOEj528=",
"owner": "project-slippi",
"repo": "slippi-desktop-app",
"rev": "02f3f007cd03c6e2b0da57db65c90646efc04a86",
"type": "github"
},
"original": {
"owner": "project-slippi",
"repo": "slippi-desktop-app",
"type": "github"
}
},
"ssbm-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"slippi-desktop": "slippi-desktop"
},
"locked": {
"lastModified": 1712071998,
"narHash": "sha256-k95NCkXJ61PGMFuqyMtfvP3yTLozED/7DkN+lBWK0gs=",
"owner": "lytedev",
"repo": "ssbm-nix",
"rev": "eff966a97287d1d86b189d59a14bf744d86836b0",
"type": "github"
},
"original": {
"owner": "lytedev",
"repo": "ssbm-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -452,24 +242,9 @@
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"unambig-path": {
"inputs": {
"flake-utils": "flake-utils_5",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
@ -490,7 +265,7 @@
},
"unispect": {
"inputs": {
"flake-utils": "flake-utils_6",
"flake-utils": "flake-utils_4",
"nixpkgs": [
"nixpkgs"
]

View File

@ -29,13 +29,9 @@
url = "git+https://git@githug.xyz/xenia/unambig-path";
inputs.nixpkgs.follows = "nixpkgs";
};
rachel = {
url = "git+https://git@githug.xyz/rachel/nixos-config";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, nix-darwin, kak, unispect, ansi-utils, unambig-path, rachel }:
outputs = { self, nixpkgs, home-manager, nix-darwin, kak, unispect, ansi-utils, unambig-path }:
let
xdg-runtime-dir = "/tmp/xdg-rt";
@ -61,7 +57,7 @@
};
mkNixOsBase = opts: import ./nixos/base.nix (opts // { nixpkgs-flake = nixpkgs; });
mkNixOsGraphical = opts: import ./nixos/graphical.nix (opts // { fox-layout = rachel.keyboardLayouts.fox; });
mkNixOsGraphical = opts: import ./nixos/graphical.nix opts;
mkNixOsNetworking = opts: import ./nixos/networking.nix opts;
in {
homeConfigurations."xenia@Joe-Bidens-MacBook-Pro" =
@ -147,6 +143,7 @@
background = "pan-wire-3.png";
};
networking = mkNixOsNetworking {
inherit pkgs;
eth-interface = "enp0s31f6";
static-ip = "192.168.0.199";
};

View File

@ -40,7 +40,7 @@ case $CHOICE in
;;
esac";
font-size = if pkgs.stdenv.isLinux then 8 else 15;
font-size = 15;
base-cfg = {
window = {
@ -48,11 +48,11 @@ esac";
padding.y = 0;
decorations = if stdenv.isDarwin then "Buttonless" else "Full";
startup_mode = "Windowed";
opacity = 0.6;
opacity = if stdenv.isDarwin then 0.6 else 0.9;
blur = true;
option_as_alt = "OnlyRight";
};
mouse.hide_when_typing = true;
mouse.hide_when_typing = stdenv.isDarwin;
font = {
normal.family = "SAX2";
size = font-size;

View File

@ -39,7 +39,6 @@
grub.devce = grub-device;
} else throw "Please use either use-efi or use-grub = true";
networking.networkmanager.enable = true;
time.timeZone = "Europe/Stockholm";
@ -86,10 +85,6 @@
virtualisation.docker.enable = true;
networking.resolvconf.enable = true;
networking.nameservers = [ "8.8.8.8" ];
networking.resolvconf.dnsExtensionMechanism = false; # edns seems to be fucky with this enabled
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;

View File

@ -1,6 +1,5 @@
{
pkgs,
fox-layout,
background-image ? "pan-wire-3.png",
...
}:
@ -9,11 +8,19 @@
services.xserver = {
enable = true;
desktopManager.xfce.enable = true;
displayManager.lightdm = {
background = ../backgrounds/${background-image};
greeters.slick.enable = true;
# desktopManager.xfce.enable = true;
# displayManager.lightdm = {
# background = ../backgrounds/${background-image};
# greeters.slick.enable = true;
# };
displayManager.gdm = {
enable = true;
autoSuspend = false;
};
desktopManager.gnome.enable = true;
# displayManager.sddm.enable = true;
# desktopManager.plasma6.enable = true;
xkb = {
layout = "fox";
@ -21,13 +28,12 @@
extraLayouts.fox = {
description = "Layout suitable to be used by a fox";
languages = ["se"];
symbolsFile = fox-layout;
symbolsFile = ./kblayouts/fox-symbols.xkb;
typesFile = ./kblayouts/fox-types.xkb;
};
};
};
services.displayManager.defaultSession = "xfce";
console.useXkbConfig = true;
# Enable sound.

View File

@ -0,0 +1,55 @@
xkb_symbols "fox" {
key <TLDE> {[ U1F408, U1F431, U1F408, U1F431 ]};
key <AE01> {[ 1, ampersand, VoidSymbol, VoidSymbol ]};
key <AE02> {[ 2, quotedbl, at, VoidSymbol ]};
key <AE03> {[ 3, numbersign, VoidSymbol, VoidSymbol ]};
key <AE04> {[ 4, dollar, VoidSymbol, VoidSymbol ]};
key <AE05> {[ 5, percent, infinity, VoidSymbol ]};
key <AE06> {[ 6, asciitilde, VoidSymbol, VoidSymbol ]};
key <AE07> {[ 7, notsign, U21D0, because ]};
key <AE08> {[ 8, U1F449, ifonlyif, U1F97A ]};
key <AE09> {[ 9, U1F448, implies, therefore ]};
key <AE10> {[ 0, equal, notequal, approximate ]};
key <AE11> {[ plus, asterisk, asciicircum, underscore ]};
key <AE12> {[ minus, slash, bar, backslash ]};
key <AD01> {[ aring, Aring, U1F4EE, Sinh_ng2 ]};
key <AD02> {[ odiaeresis, Odiaeresis, VoidSymbol, VoidSymbol ]};
key <AD03> {[ adiaeresis, Adiaeresis, VoidSymbol, VoidSymbol ]};
key <AD04> {[ p, P, VoidSymbol, VoidSymbol ]};
key <AD05> {[ y, Y, VoidSymbol, VoidSymbol ]};
key <AD06> {[ f, F, VoidSymbol, VoidSymbol ]};
key <AD07> {[ g, G, VoidSymbol, VoidSymbol ]};
key <AD08> {[ c, C, VoidSymbol, VoidSymbol ]};
key <AD09> {[ r, R, VoidSymbol, VoidSymbol ]};
key <AD10> {[ l, L, VoidSymbol, VoidSymbol ]};
key <AD11> {[ parenleft, less, bracketleft, braceleft ]};
key <AD12> {[ parenright, greater, bracketright, braceright ]};
key <AC01> {[ a, A, VoidSymbol, VoidSymbol ]};
key <AC02> {[ o, O, VoidSymbol, VoidSymbol ]};
key <AC03> {[ e, E, VoidSymbol, VoidSymbol ]};
key <AC04> {[ u, U, VoidSymbol, VoidSymbol ]};
key <AC05> {[ i, I, VoidSymbol, VoidSymbol ]};
key <AC06> {[ d, D, VoidSymbol, VoidSymbol ]};
key <AC07> {[ h, H, VoidSymbol, VoidSymbol ]};
key <AC08> {[ t, T, VoidSymbol, VoidSymbol ]};
key <AC09> {[ n, N, VoidSymbol, VoidSymbol ]};
key <AC10> {[ s, S, VoidSymbol, VoidSymbol ]};
key <AC11> {[ exclam, question, exclamdown, questiondown ]};
key <BKSL> {[ apostrophe, grave, emdash, VoidSymbol ]};
key <LSGT> {[ comma, semicolon, VoidSymbol, VoidSymbol ]};
key <AB01> {[ period, colon, comma, semicolon ]};
key <AB02> {[ q, Q, VoidSymbol, VoidSymbol ]};
key <AB03> {[ j, J, VoidSymbol, VoidSymbol ]};
key <AB04> {[ k, K, VoidSymbol, VoidSymbol ]};
key <AB05> {[ x, X, VoidSymbol, VoidSymbol ]};
key <AB06> {[ b, B, VoidSymbol, VoidSymbol ]};
key <AB07> {[ m, M, VoidSymbol, VoidSymbol ]};
key <AB08> {[ w, W, VoidSymbol, VoidSymbol ]};
key <AB09> {[ v, V, VoidSymbol, VoidSymbol ]};
key <AB10> {[ z, Z, VoidSymbol, VoidSymbol ]};
key <SPCE> {[ space, space, space, space ]};
};

View File

@ -0,0 +1,16 @@
xkb_types "noaltgr" {
virtual_modifiers Shift, Alt;
type "CTRL+ALT" {
modifiers = Shift + Alt;
map[None] = Level1;
map[Shift] = Level2;
map[Alt] = Level3;
map[Shift+Alt] = Level4;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt";
level_name[Level4] = "Shift Alt";
};
};

View File

@ -1,16 +1,22 @@
{
pkgs,
eth-interface ? "eth0",
static-ip ? false, # false, or IPv4 address
static-ip ? false, # false, or IPv4 address as string
default-gateway ? "192.168.1.1",
}:
{
networking = if static-ip != false then {
defaultGateway = { address = default-gateway; interface = eth-interface; };
useDHCP = false;
interfaces.${eth-interface}.ipv4.addresses = [ {
let static-ip-conf = if static-ip != false then {
networking.defaultGateway = { address = default-gateway; interface = eth-interface; };
networking.useDHCP = false;
networking.interfaces.${eth-interface}.ipv4.addresses = [ {
address = static-ip;
prefixLength = 24;
} ];
} else {
};
networking.networkmanager.unmanaged = [eth-interface];
} else {};
in pkgs.lib.attrsets.recursiveUpdate static-ip-conf
{
networking.networkmanager.enable = true;
networking.nameservers = [ "8.8.8.8" ];
networking.resolvconf.enable = true;
networking.resolvconf.dnsExtensionMechanism = false; # edns seems to be fucky with this enabled
}