Compare commits
15 Commits
07655e5135
...
phoenix
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4941f99993 | ||
|
|
3f66b773e3 | ||
|
|
58076ab05e | ||
|
|
5152bc6c47 | ||
|
|
b86b5eae5e | ||
|
|
834472fe38 | ||
|
|
122a7fa174 | ||
|
|
49ba1149d8 | ||
|
|
e8abf3ab16 | ||
|
|
8ad0603114 | ||
|
|
7f4bac8208 | ||
|
|
92c4e1f7cf | ||
|
|
51d9476042 | ||
|
|
4b8882d82d | ||
|
|
42a93f042e |
21
flake.lock
generated
21
flake.lock
generated
@@ -455,6 +455,26 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"phoenix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767512451,
|
||||
"narHash": "sha256-ig5p+D8ruePISv0bbU3XUhMg4mOtpvpxYXZBKwanh2g=",
|
||||
"ref": "refs/heads/home-manager",
|
||||
"rev": "5b227c1bd23728d57376fe9009c6e1c5569593e1",
|
||||
"revCount": 2515,
|
||||
"type": "git",
|
||||
"url": "file:///home/andromeda/pp/forks/phoenix"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "file:///home/andromeda/pp/forks/phoenix"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
@@ -464,6 +484,7 @@
|
||||
"noshell": "noshell",
|
||||
"nur": "nur",
|
||||
"nvf": "nvf",
|
||||
"phoenix": "phoenix",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
|
||||
27
flake.nix
27
flake.nix
@@ -22,6 +22,10 @@
|
||||
url = "github:notashelf/nvf";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
phoenix = {
|
||||
url = "git+file:///home/andromeda/pp/forks/phoenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
stylix = {
|
||||
url = "github:nix-community/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -35,11 +39,11 @@
|
||||
noshell,
|
||||
nur,
|
||||
nvf,
|
||||
phoenix,
|
||||
stylix,
|
||||
...
|
||||
}: let
|
||||
laptop = import ./machines/laptop/machine.nix;
|
||||
_173-249-5-230 = import ./machines/173-249-5-230/machine.nix;
|
||||
machines = import ./machines.nix;
|
||||
configuration = machine: modules:
|
||||
nixpkgs.lib.nixosSystem {
|
||||
system = machine.system;
|
||||
@@ -47,18 +51,21 @@
|
||||
modules =
|
||||
modules
|
||||
++ [
|
||||
machine.configuration
|
||||
machine.hardware-configuration
|
||||
./machines/${machine.hostname}/configuration.nix
|
||||
./users.nix
|
||||
./secrets.nix
|
||||
impermanence.nixosModules.impermanence
|
||||
agenix.nixosModules.default
|
||||
];
|
||||
};
|
||||
configurationWithHomeManager = machine: (configuration machine
|
||||
[
|
||||
agenix.nixosModules.default
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
agenix.overlays.default
|
||||
nur.overlays.default
|
||||
phoenix.overlays.default
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.extraSpecialArgs = {inherit machine;};
|
||||
@@ -67,11 +74,12 @@
|
||||
(name: value: value)
|
||||
(
|
||||
nixpkgs.legacyPackages.${machine.system}.lib.genAttrs
|
||||
machine.usernames
|
||||
machine.users
|
||||
(
|
||||
name: {
|
||||
imports = [
|
||||
agenix.homeManagerModules.default
|
||||
phoenix.homeModules.default
|
||||
stylix.homeModules.stylix
|
||||
nvf.homeManagerModules.default
|
||||
./users/${name}/home.nix
|
||||
@@ -80,11 +88,12 @@
|
||||
)
|
||||
);
|
||||
}
|
||||
impermanence.nixosModules.impermanence
|
||||
noshell.nixosModules.default
|
||||
]);
|
||||
in {
|
||||
nixosConfigurations.${laptop.hostname} = configurationWithHomeManager laptop;
|
||||
nixosConfigurations.${_173-249-5-230.hostname} = configurationWithHomeManager _173-249-5-230;
|
||||
nixosConfigurations =
|
||||
builtins.mapAttrs
|
||||
(hostname: value: configurationWithHomeManager value)
|
||||
machines;
|
||||
};
|
||||
}
|
||||
|
||||
17
machines.nix
Normal file
17
machines.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
lenovo = {
|
||||
hostname = "lenovo";
|
||||
system = "x86_64-linux";
|
||||
users = [
|
||||
"andromeda"
|
||||
"mtgmonkey"
|
||||
];
|
||||
};
|
||||
"109-199-104-83" = {
|
||||
hostname = "109-199-104-83";
|
||||
system = "x86_64-linux";
|
||||
users = [
|
||||
"mtgmonkey"
|
||||
];
|
||||
};
|
||||
}
|
||||
45
machines/109-199-104-83/configuration.nix
Normal file
45
machines/109-199-104-83/configuration.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
config,
|
||||
modulesPath,
|
||||
machine,
|
||||
...
|
||||
}: {
|
||||
system.stateVersion = "25.11";
|
||||
nix.settings.experimental-features = ["flakes" "nix-command"];
|
||||
imports = [(modulesPath + "/profiles/qemu-guest.nix")];
|
||||
fileSystems."/" = {
|
||||
device = "/dev/sda1";
|
||||
fsType = "ext4";
|
||||
};
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
boot.loader.timeout = 30;
|
||||
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront"];
|
||||
boot.initrd.kernelModules = ["nvme"];
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
zramSwap.enable = true;
|
||||
networking = {
|
||||
useNetworkd = true;
|
||||
usePredictableInterfaceNames = true;
|
||||
hostName = machine.hostname;
|
||||
domain = "galaxious.de";
|
||||
};
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks."40-wan" = {
|
||||
matchConfig.Name = "enx0050565f4fff";
|
||||
address = ["2a02:c207:2299:8419::1/64" "109.199.104.83/20"];
|
||||
routes = [
|
||||
{
|
||||
Gateway = "109.199.96.1";
|
||||
GatewayOnLink = true;
|
||||
}
|
||||
{Gateway = "fe80::1";}
|
||||
];
|
||||
dns = ["2620:fe::fe" "9.9.9.9"];
|
||||
};
|
||||
};
|
||||
services.openssh.enable = true;
|
||||
users.mutableUsers = false;
|
||||
users.users.root.openssh.authorizedKeys.keys = [config.pub-keys.ssh.andromeda];
|
||||
programs.noshell.enable = true;
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
{
|
||||
config,
|
||||
machine,
|
||||
...
|
||||
}: {
|
||||
age.secrets.secret2.file = ../../secrets/secret2.age;
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
boot.loader.grub.devices = ["nodev"];
|
||||
environment.persistence."/nix/persist" = {
|
||||
enable = true;
|
||||
hideMounts = true;
|
||||
directories = [
|
||||
"/var/log"
|
||||
"/var/lib/nixos"
|
||||
"/var/lib/systemd/coredump"
|
||||
"/etc/NetworkManager/system-connections"
|
||||
];
|
||||
files = [
|
||||
"/etc/machine-id"
|
||||
"/etc/ly/save.txt"
|
||||
];
|
||||
users."mtgmonkey" = {
|
||||
directories = [
|
||||
".local/share/zoxide"
|
||||
".ssh"
|
||||
];
|
||||
files = [
|
||||
".bash_history"
|
||||
".brush_history"
|
||||
];
|
||||
};
|
||||
};
|
||||
i18n.defaultLocale = "de_DE.UTF-8";
|
||||
networking = {
|
||||
dhcpcd.enable = true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [80 443];
|
||||
allowedUDPPorts = [80 443];
|
||||
};
|
||||
hostName = machine.hostname;
|
||||
domain = "";
|
||||
};
|
||||
nix.settings = {
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
allow-import-from-derivation = true;
|
||||
};
|
||||
programs.noshell.enable = true;
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
allowSFTP = false;
|
||||
ports = [5522];
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
AllowTcpForwarding no
|
||||
AllowAgentForwarding no
|
||||
MaxAuthTries 3
|
||||
MaxSessions 4
|
||||
TCPKeepAlive no
|
||||
'';
|
||||
};
|
||||
system.stateVersion = "26.05";
|
||||
time.timeZone = "Europe/Berlin";
|
||||
users.users."mtgmonkey" = {
|
||||
isNormalUser = true;
|
||||
description = "mtgmonkey";
|
||||
hashedPasswordFile = builtins.toString config.age.secrets.secret2.path;
|
||||
extraGroups = ["wheel"];
|
||||
openssh.authorizedKeys.keys = machine.pub-keys.ssh;
|
||||
};
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "sdhci_pci"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
#device = "none";
|
||||
#fsType = "tmpfs";
|
||||
#options = ["defaults" "size=60%" "mode=755"];
|
||||
device = "/dev/disk/by-uuid/16c93673-4f0e-4010-a7f4-7ccffb20edb7";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=root"];
|
||||
};
|
||||
|
||||
boot.initrd.postResumeCommands = lib.mkAfter ''
|
||||
mkdir /btrfs_tmp
|
||||
mount ${config.fileSystems."/".device} /btrfs_tmp
|
||||
if [[ -e /btrfs_tmp/root ]]; then
|
||||
mkdir -p /btrfs_tmp/old_roots
|
||||
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:$M:%S")
|
||||
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
|
||||
fi
|
||||
|
||||
delete_subvolume_recursively() {
|
||||
IFS=$'\n'
|
||||
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
|
||||
delete_subvolume_recursively "/btrfs_tmp/$i"
|
||||
done
|
||||
btrfs subvolume delete "$1"
|
||||
}
|
||||
|
||||
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
|
||||
delete_subvolume_recursively "$i"
|
||||
done
|
||||
|
||||
btrfs subvolume create /btrfs_tmp/root
|
||||
umount /btrfs_tmp
|
||||
'';
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/0e586651-36f4-42b0-99b3-3f0704a894d6";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/F425-55BA";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices = [];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
hostname = "173-249-5-230";
|
||||
usernames = ["mtgmonkey"];
|
||||
system = "x86_64-linux";
|
||||
configuration = ./configuration.nix;
|
||||
hardware-configuration = ./hardware-configuration.nix;
|
||||
pub-keys = {
|
||||
ssh = [];
|
||||
};
|
||||
}
|
||||
@@ -1,114 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
machine,
|
||||
...
|
||||
}: {
|
||||
age.secrets = {
|
||||
secret0.file = ../../secrets/secret0.age;
|
||||
secret1.file = ../../secrets/secret1.age;
|
||||
};
|
||||
boot.loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
systemd-boot.enable = true;
|
||||
};
|
||||
environment.persistence."/nix/persist" = {
|
||||
enable = true;
|
||||
hideMounts = true;
|
||||
directories = [
|
||||
"/var/log"
|
||||
"/var/lib/bluetooth"
|
||||
"/var/lib/nixos"
|
||||
"/var/lib/systemd/coredump"
|
||||
"/etc/NetworkManager/system-connections"
|
||||
"/etc/ssh"
|
||||
];
|
||||
files = [
|
||||
"/etc/machine-id"
|
||||
"/etc/ly/save.txt"
|
||||
];
|
||||
users."andromeda" = {
|
||||
directories = [
|
||||
".backups"
|
||||
".local/share/Anki2"
|
||||
".local/share/chat.fluffy.fluffychat"
|
||||
".local/share/zoxide"
|
||||
".ssh"
|
||||
"conf"
|
||||
"Downloads"
|
||||
"pp"
|
||||
];
|
||||
files = [
|
||||
".bash_history"
|
||||
".brush_history"
|
||||
];
|
||||
};
|
||||
users."mtgmonkey" = {
|
||||
directories = [
|
||||
".local/share/zoxide"
|
||||
".ssh"
|
||||
];
|
||||
files = [
|
||||
".bash_history"
|
||||
".brush_history"
|
||||
];
|
||||
};
|
||||
};
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
i18n.defaultLocale = "de_DE.UTF-8";
|
||||
networking = {
|
||||
dhcpcd.enable = true;
|
||||
firewall.enable = true;
|
||||
hostName = machine.hostname;
|
||||
networkmanager.enable = true;
|
||||
};
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"steam"
|
||||
"steam-original"
|
||||
"steam-unwrapped"
|
||||
"steam-run"
|
||||
];
|
||||
programs = {
|
||||
noshell.enable = true;
|
||||
steam.enable = true;
|
||||
sway.enable = true;
|
||||
};
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
displayManager = {
|
||||
enable = true;
|
||||
ly.enable = true;
|
||||
};
|
||||
libinput.enable = true;
|
||||
openssh.enable = true;
|
||||
printing.enable = true;
|
||||
};
|
||||
system.stateVersion = "26.05";
|
||||
time.timeZone = "Europe/Berlin";
|
||||
users.users."andromeda" = {
|
||||
isNormalUser = true;
|
||||
description = "andromeda";
|
||||
hashedPasswordFile = builtins.toString config.age.secrets.secret0.path;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
users.users."mtgmonkey" = {
|
||||
isNormalUser = true;
|
||||
description = "mtgmonkey";
|
||||
hashedPasswordFile = builtins.toString config.age.secrets.secret1.path;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
hostname = "lenovo";
|
||||
usernames = ["andromeda" "mtgmonkey"];
|
||||
system = "x86_64-linux";
|
||||
configuration = ./configuration.nix;
|
||||
hardware-configuration = ./hardware-configuration.nix;
|
||||
pub-keys.ssh = [];
|
||||
}
|
||||
@@ -1,17 +1,61 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
machine,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./impermanence.nix
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
age.secrets = {
|
||||
secret0.file = ../../secrets/secret0.age;
|
||||
secret1.file = ../../secrets/secret1.age;
|
||||
};
|
||||
boot.loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
systemd-boot.enable = true;
|
||||
};
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
i18n.defaultLocale = "de_DE.UTF-8";
|
||||
networking = {
|
||||
dhcpcd.enable = true;
|
||||
firewall.enable = true;
|
||||
hostName = machine.hostname;
|
||||
networkmanager.enable = true;
|
||||
};
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"steam"
|
||||
"steam-original"
|
||||
"steam-unwrapped"
|
||||
"steam-run"
|
||||
];
|
||||
programs = {
|
||||
noshell.enable = true;
|
||||
steam.enable = true;
|
||||
sway.enable = true;
|
||||
};
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
displayManager = {
|
||||
enable = true;
|
||||
ly.enable = true;
|
||||
};
|
||||
libinput.enable = true;
|
||||
openssh.enable = true;
|
||||
printing.enable = true;
|
||||
};
|
||||
system.stateVersion = "26.05";
|
||||
time.timeZone = "Europe/Berlin";
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "sdhci_pci"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
19
machines/lenovo/impermanence.nix
Normal file
19
machines/lenovo/impermanence.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
environment.persistence."/nix/persist" = {
|
||||
enable = true;
|
||||
hideMounts = true;
|
||||
directories = [
|
||||
"/var/log"
|
||||
"/var/lib/bluetooth"
|
||||
"/var/lib/nixos"
|
||||
"/var/lib/systemd/coredump"
|
||||
"/etc/NetworkManager/system-connections"
|
||||
"/etc/ssh"
|
||||
"/etc/ly/custom-sessions"
|
||||
];
|
||||
files = [
|
||||
"/etc/machine-id"
|
||||
"/etc/ly/save.txt"
|
||||
];
|
||||
};
|
||||
}
|
||||
14
pub-keys.nix
Normal file
14
pub-keys.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
age.secrets = {
|
||||
secret0.file = ./secrets/secret0.age;
|
||||
secret1.file = ./secrets/secret1.age;
|
||||
secret2.file = ./secrets/secret2.age;
|
||||
};
|
||||
pub-keys = {
|
||||
ssh = {
|
||||
andromeda = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJy2VD362wUcu0lKj2d6OIU8dbAna0Lu/NaAYIj8gdIA andromeda@lenovo";
|
||||
lenovo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHG4eqsLTq2os2mxfwhys3BpVnowcJrqt2CbRFzN2pJb root@lenovo";
|
||||
_109-199-104-83 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJe5ol56yC23fivSEKeK4HZQm934ROX46AM7o0aE2hMq root@vmi2998419";
|
||||
};
|
||||
};
|
||||
}
|
||||
10
secrets.nix
Normal file
10
secrets.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{lib, ...}: {
|
||||
imports = [./pub-keys.nix];
|
||||
options = {
|
||||
pub-keys.ssh = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.str;
|
||||
default = {};
|
||||
description = "set of public keys as `name = key`";
|
||||
};
|
||||
};
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,8 +1,10 @@
|
||||
let
|
||||
andromeda = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJy2VD362wUcu0lKj2d6OIU8dbAna0Lu/NaAYIj8gdIA andromeda@lenovo";
|
||||
lenovo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHG4eqsLTq2os2mxfwhys3BpVnowcJrqt2CbRFzN2pJb root@lenovo";
|
||||
pub-keys = (import ../pub-keys.nix).pub-keys;
|
||||
andromeda = pub-keys.ssh.andromeda;
|
||||
lenovo = pub-keys.ssh.lenovo;
|
||||
_109-199-104-83 = pub-keys.ssh._109-199-104-83;
|
||||
in {
|
||||
"secret0.age".publicKeys = [andromeda lenovo];
|
||||
"secret1.age".publicKeys = [andromeda lenovo];
|
||||
"secret2.age".publicKeys = [andromeda lenovo];
|
||||
"secret2.age".publicKeys = [andromeda lenovo _109-199-104-83];
|
||||
}
|
||||
|
||||
71
users.nix
Normal file
71
users.nix
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
machine,
|
||||
...
|
||||
}: let
|
||||
machines = import ./machines.nix;
|
||||
in {
|
||||
users.users =
|
||||
builtins.mapAttrs
|
||||
(name: value: lib.mkIf (builtins.elem name machine.users) value)
|
||||
{
|
||||
"andromeda" = {
|
||||
isNormalUser = true;
|
||||
description = "andromeda";
|
||||
hashedPasswordFile = builtins.toString config.age.secrets.secret0.path;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
"mtgmonkey" = {
|
||||
isNormalUser = true;
|
||||
description = "mtgmonkey";
|
||||
hashedPasswordFile = builtins.toString config.age.secrets.secret1.path;
|
||||
extraGroups = [
|
||||
(lib.mkIf
|
||||
(machine == machines.lenovo)
|
||||
"networkmanager")
|
||||
"wheel"
|
||||
];
|
||||
openssh.authorizedKeys.keys = [
|
||||
(lib.mkIf
|
||||
(machine == machines."109-199-104-83")
|
||||
config.pub-keys.ssh.andromeda)
|
||||
];
|
||||
};
|
||||
};
|
||||
environment.persistence."/nix/persist".users = lib.mkIf config.environment.persistence."/nix/persist".enable (
|
||||
builtins.mapAttrs
|
||||
(name: value: lib.mkIf (builtins.elem name machine.users) value)
|
||||
{
|
||||
"andromeda" = {
|
||||
directories = [
|
||||
".backups"
|
||||
".local/share/Anki2"
|
||||
".local/share/chat.fluffy.fluffychat"
|
||||
".local/share.zoxide"
|
||||
".ssh"
|
||||
"conf"
|
||||
"Downloads"
|
||||
"pp"
|
||||
];
|
||||
files = [
|
||||
".bash_history"
|
||||
".brush_history"
|
||||
];
|
||||
};
|
||||
"mtgmonkey" = {
|
||||
directories = [
|
||||
".local/share/zoxide"
|
||||
".ssh"
|
||||
];
|
||||
files = [
|
||||
".bash_history"
|
||||
".brush_history"
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -6,7 +6,17 @@
|
||||
...
|
||||
}: let
|
||||
background-path = ".config/sway/background.png";
|
||||
sway_config = builtins.toFile "sway_config" ''
|
||||
sway_config =
|
||||
pkgs.substitute
|
||||
{
|
||||
src = ./sway_config;
|
||||
substitutions = [
|
||||
"--replace"
|
||||
"@backgroundImagePath@"
|
||||
"${config.home.homeDirectory}/${background-path}"
|
||||
];
|
||||
};
|
||||
sway_config' = builtins.toFile "sway_config" ''
|
||||
set $mod Mod4
|
||||
set $left h
|
||||
set $down j
|
||||
@@ -169,15 +179,24 @@ in {
|
||||
};
|
||||
gh.enable = true;
|
||||
home-manager.enable = true;
|
||||
librewolf = {
|
||||
firefox = {
|
||||
enable = true;
|
||||
package = pkgs.librewolf.override {
|
||||
cfg.enableTridactylNative = true;
|
||||
profiles."andromeda".name = "andromeda";
|
||||
package = pkgs.withPhoenix pkgs.firefox;
|
||||
};
|
||||
profiles.${config.home.username}.extensions.packages = [
|
||||
pkgs.nur.repos.rycee.firefox-addons.tridactyl
|
||||
];
|
||||
firefox.phoenix = {
|
||||
enable = true;
|
||||
profiles = ["andromeda"];
|
||||
};
|
||||
# librewolf = {
|
||||
# enable = true;
|
||||
# package = pkgs.librewolf.override {
|
||||
# cfg.enableTridactylNative = true;
|
||||
# };
|
||||
# profiles.${config.home.username}.extensions.packages = [
|
||||
# pkgs.nur.repos.rycee.firefox-addons.tridactyl
|
||||
# ];
|
||||
# };
|
||||
lsd.enable = true;
|
||||
nvf = {
|
||||
enable = true;
|
||||
|
||||
73
users/andromeda/sway_config
Normal file
73
users/andromeda/sway_config
Normal file
@@ -0,0 +1,73 @@
|
||||
set $mod Mod4
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
set $term alacritty
|
||||
set $menu wmenu-run
|
||||
set $screenshot grim -g "$(slurp)"
|
||||
floating_modifier $mod normal
|
||||
|
||||
workspace_layout stacking
|
||||
output * bg @backgroundImagePath@ fill
|
||||
|
||||
bindsym $mod+Shift+Return exec $term
|
||||
bindsym $mod+Shift+d exec $menu
|
||||
bindsym $mod+Shift+a exec anki
|
||||
bindsym $mod+Shift+q exec firefox
|
||||
bindsym $mod+Shift+s exec $screenshot
|
||||
|
||||
bindsym $mod+Shift+c kill
|
||||
|
||||
bindsym $mod+Shift+r reload
|
||||
|
||||
bindsym $mod+Shift+Alt+q exit
|
||||
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
|
||||
bindsym $mod+1 workspace number 1
|
||||
bindsym $mod+2 workspace number 2
|
||||
bindsym $mod+3 workspace number 3
|
||||
bindsym $mod+4 workspace number 4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+6 workspace number 6
|
||||
bindsym $mod+7 workspace number 7
|
||||
bindsym $mod+8 workspace number 8
|
||||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 0
|
||||
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace number 2
|
||||
bindsym $mod+Shift+3 move container to workspace number 3
|
||||
bindsym $mod+Shift+4 move container to workspace number 4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 0
|
||||
|
||||
bindsym $mod+f fullscreen
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
bindsym $mod+minus scratchpad show
|
||||
|
||||
bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
|
||||
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
|
||||
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
|
||||
bindsym --locked XF86AudioMicMute exec pact set-source-mute \@DEFAULT_SOURCE@ toggle
|
||||
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
|
||||
bindsym --locked XF86MonbrightnessUp exec brightnessctl set 5%+
|
||||
|
||||
default_border none
|
||||
font pango:monospace 0.001
|
||||
titlebar_border_thickness 0
|
||||
titlebar_padding 0
|
||||
Reference in New Issue
Block a user