Compare commits

..

5 commits

Author SHA1 Message Date
Bad
2427686ffc Add a pre-commit hook 2022-07-03 01:19:14 +02:00
Bad
a46b9bc7ad Reformat code 2022-07-03 01:06:34 +02:00
Bad
7f29a1f336 Add a vm host 2022-07-03 01:06:24 +02:00
Bad
8ce232f5d2 Unify desktop and laptop user configs 2022-07-01 21:32:26 +02:00
Bad
28f6c5df9f Update flake.lock 2022-07-01 21:20:02 +02:00
17 changed files with 92 additions and 95 deletions

View file

@ -169,11 +169,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1656311436, "lastModified": 1656656878,
"narHash": "sha256-rXZbZ61Zvn5rE0Srh5bpfNYRXEZHIigqcjkKh2+Cvk4=", "narHash": "sha256-0rA054abuLVzv24nrk4rVWQIDl20T+570UZglPhXgzg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "5e2708f04efe0ed2616be471d0913e303ff3a9ee", "rev": "e172d625f705ca4013f93d3fe061d3ecf1fc3a34",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -334,11 +334,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1656313134, "lastModified": 1656367977,
"narHash": "sha256-VCEXqyq/+Ffu+TlDoIt2iepERFVVvmZ2flHNyVb0dPs=", "narHash": "sha256-0hV17V9Up9pnAtPJ+787FhrsPnawxoTPA/VxgjRMrjc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "be3adf9920febf26ff5221ed5c8c76a43b2d94d6", "rev": "3bf16c0fd141c28312be52945d1543f9ce557bb1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -350,11 +350,11 @@
}, },
"latest": { "latest": {
"locked": { "locked": {
"lastModified": 1656239181, "lastModified": 1656461576,
"narHash": "sha256-wW1xRFBn376yGloXZ4QzBE4hjipMawpV18Lshd9QSPw=", "narHash": "sha256-rlmmw6lIlkMQIiB+NsnO8wQYWTfle8TA41UREPLP5VY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f2537a505d45c31fe5d9c27ea9829b6f4c4e6ac5", "rev": "cf3ab54b4afe2b7477faa1dd0b65bf74c055d70c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -386,11 +386,11 @@
}, },
"nixos": { "nixos": {
"locked": { "locked": {
"lastModified": 1656265786, "lastModified": 1656589841,
"narHash": "sha256-A9RkoGrxzsmMm0vily18p92Rasb+MbdDMaSnzmywXKw=", "narHash": "sha256-Kqd6r9aNIzjYGhMFYATdKwRbXBCGLcdqAJMLr4I8LG0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cd90e773eae83ba7733d2377b6cdf84d45558780", "rev": "dbb62c34bbb5cdf05f1aeab07638b24b0824d605",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -402,11 +402,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1656353817, "lastModified": 1656624504,
"narHash": "sha256-UJEzMQcft/0Ilu4LWV7UH51mr5UCo28GL06BGO+djv4=", "narHash": "sha256-EuNui6P5tHk4YkfiYjcRzfc9wxpoTl2OOOgpyF6bWfs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "78e7c2c397b0376526e83162b58de921362e3399", "rev": "a50513f8a6c470208d7c494439775e62c3f47ce1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -417,11 +417,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1656239181, "lastModified": 1656461576,
"narHash": "sha256-wW1xRFBn376yGloXZ4QzBE4hjipMawpV18Lshd9QSPw=", "narHash": "sha256-rlmmw6lIlkMQIiB+NsnO8wQYWTfle8TA41UREPLP5VY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f2537a505d45c31fe5d9c27ea9829b6f4c4e6ac5", "rev": "cf3ab54b4afe2b7477faa1dd0b65bf74c055d70c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -497,11 +497,11 @@
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1656240210, "lastModified": 1656601302,
"narHash": "sha256-CeP1gNUtmYHCQylROkpunvVTR8J8w/Pm6D5rjw8v4Gw=", "narHash": "sha256-8vlDMdGmccsFkDTM5O3RGRTZIGBEVIDjnXpxWGoVIQc=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "b74e96f509baf0be70281c55f14cb18fefbc6b22", "rev": "ce36446943a33b01de50ca27d8d17e176af13cd5",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -18,7 +18,7 @@
digga.inputs.deploy.follows = "deploy"; digga.inputs.deploy.follows = "deploy";
home.url = "github:nix-community/home-manager/master"; home.url = "github:nix-community/home-manager/master";
# home.url = "path:/home/mae/home-manager"; # home.url = "path:/home/mae/home-manager";
home.inputs.nixpkgs.follows = "latest"; home.inputs.nixpkgs.follows = "latest";
home.inputs.utils.follows = "flake-utils"; home.inputs.utils.follows = "flake-utils";
@ -40,12 +40,12 @@
naersk.inputs.nixpkgs.follows = "nixos"; naersk.inputs.nixpkgs.follows = "nixos";
peerix.url = "github:cid-chan/peerix"; peerix.url = "github:cid-chan/peerix";
# peerix.url = "github:MaeIsBad/peerix"; # peerix.url = "github:MaeIsBad/peerix";
peerix.inputs.nixpkgs.follows = "nixos"; peerix.inputs.nixpkgs.follows = "nixos";
nixos-hardware.url = "github:nixos/nixos-hardware"; nixos-hardware.url = "github:nixos/nixos-hardware";
fenix.url = "github:nix-community/fenix"; fenix.url = "github:nix-community/fenix";
# fenix.inputs.nixpkgs.follows = "nixos"; # fenix.inputs.nixpkgs.follows = "nixos";
}; };
outputs = outputs =

View file

@ -10,7 +10,7 @@
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "21.05"; # Did you read the comment? system.stateVersion = "21.05"; # Did you read the comment?
boot.loader.grub = { boot.loader.grub = {
enable = true; enable = true;
version = 2; version = 2;
@ -52,17 +52,18 @@
}; };
fileSystems."/" = fileSystems."/" =
{ device = "/dev/bcache0"; {
device = "/dev/bcache0";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/disk/by-label/BOOT"; {
device = "/dev/disk/by-label/BOOT";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = swapDevices =
[ { device = "/dev/disk/by-label/ssd-swap"; } [{ device = "/dev/disk/by-label/ssd-swap"; }];
];
} }

5
hosts/vm.nix Normal file
View file

@ -0,0 +1,5 @@
{ suites, profiles, pkgs, ... }:
{
imports = suites.workstation;
system.stateVersion = "21.05"; # Did you read the comment?
}

View file

@ -1,5 +1,5 @@
channels: final: prev: channels: final: prev:
let let
latest = channels.latest; latest = channels.latest;
in in
{ {
@ -29,7 +29,7 @@ in
rust-analyzer rust-analyzer
cargo-crev cargo-crev
cargo-fuzz cargo-fuzz
tdesktop tdesktop
vimPlugins vimPlugins
neovim-unwrapped; neovim-unwrapped;

5
pre-commit.sh Executable file
View file

@ -0,0 +1,5 @@
#!/usr/bin/env -S nix shell --quiet nixpkgs#bash nixpkgs#nixpkgs-fmt --ignore-environment --command bash
# Install: ln -s ../../pre-commit.sh .git/hooks/pre-commit
nixpkgs-fmt --check .

View file

@ -6,7 +6,7 @@ in
# Cachix # Cachix
nix = { nix = {
binaryCaches = [ binaryCaches = [
"https://cache.nixos.org/" "https://cache.nixos.org/"
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
]; ];
binaryCachePublicKeys = [ binaryCachePublicKeys = [
@ -32,7 +32,7 @@ in
environment.variables.EDITOR = "$EDITOR"; environment.variables.EDITOR = "$EDITOR";
services.logind.lidSwitch = "ignore"; services.logind.lidSwitch = "ignore";
services.logind.extraConfig = '' services.logind.extraConfig = ''
# dont shutdown when power button is short-pressed # dont shutdown when power button is short-pressed
HandlePowerKey=ignore HandlePowerKey=ignore
''; '';

View file

@ -7,7 +7,7 @@
minetest minetest
mumble mumble
polymc polymc
(retroarch.override {cores = [libretro.snes9x]; }) (retroarch.override { cores = [ libretro.snes9x ]; })
olympus olympus
godot godot
]; ];

View file

@ -1,9 +1,9 @@
{config, pkgs, ...}: { config, pkgs, ... }:
let let
peerix_user = "peerix"; peerix_user = "peerix";
in in
{ {
users.groups.${peerix_user} = {}; users.groups.${peerix_user} = { };
users.users.${peerix_user} = { users.users.${peerix_user} = {
group = peerix_user; group = peerix_user;
isSystemUser = true; isSystemUser = true;

View file

@ -6,7 +6,7 @@ let
tesco_sys = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqryVRMbcei0pZTOP1wgTVzn452vgsUP7MrEb0LQ17s root@tesco"; tesco_sys = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqryVRMbcei0pZTOP1wgTVzn452vgsUP7MrEb0LQ17s root@tesco";
mae_tesco = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN64wtGODBn2yygv1sOXnV8qbXImbOttMlhdTKEyQCoT mae@tesco"; mae_tesco = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN64wtGODBn2yygv1sOXnV8qbXImbOttMlhdTKEyQCoT mae@tesco";
systemKeys = [teapot_sys tesco_sys]; systemKeys = [ teapot_sys tesco_sys ];
allKeys = [ mae_teapot mae_tesco ] ++ systemKeys; allKeys = [ mae_teapot mae_tesco ] ++ systemKeys;
in in
{ {

View file

@ -1,7 +1,7 @@
{ profiles, ... }: { profiles, ... }:
with profiles; rec { with profiles; rec {
base = [ users.root core dnscrypt ]; base = [ users.root core dnscrypt ];
workstation = base ++ [ sway develop game profiles.workstation ssh flatpak torrents pwn tor rust virtualization java networkmanager pipewire flatpak peerix ]; workstation = base ++ [ sway develop game profiles.workstation ssh flatpak torrents pwn tor rust virtualization java networkmanager pipewire flatpak peerix users.mae ];
desktop = workstation ++ [ users.mae-desk amd three_dee ]; desktop = workstation ++ [ amd three_dee ];
lap = workstation ++ [ users.mae-lap laptop bluetooth print ]; lap = workstation ++ [ laptop bluetooth print ];
} }

View file

@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home-manager.users.mae = {
imports = [ ../mae/home-manager-base.nix ];
};
users = (import ../mae/user.nix { inherit pkgs; });
}

View file

@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home-manager.users.mae = {
imports = [ ../mae/home-manager-base.nix ];
};
users = (import ../mae/user.nix { inherit pkgs; });
}

37
users/mae/default.nix Normal file
View file

@ -0,0 +1,37 @@
{ pkgs, ... }:
{
users.users.mae = {
uid = 1000;
isNormalUser = true;
hashedPassword = "$6$vyS4lqYbl3$OXztJnAC5ZayA4eCBSIRlYtsi9u1HnafsfNL28l4CJh0BISVlSj6D48CA80cshnvYW/EEzfEj7z4zTNFpJAT/.";
shell = pkgs.zsh;
extraGroups = [ "wheel" "video" "lp" "scanner" "adbusers" "render" "libvirtd" "podman" "docker" ];
};
home-manager.users.mae = { pkgs, ... }: {
imports = [ ../profiles/direnv ../profiles/git ../profiles/zsh ../profiles/neovim ../profiles/syncthing ../profiles/kdeconnect ../profiles/podman ../profiles/alacritty ../profiles/tmux ../profiles/mpv ../profiles/sway ];
home.sessionVariables = {
XDG_DATA_DIRS = "$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share";
EDITOR = "${pkgs.neovim}/bin/nvim";
MOZ_ENABLE_WAYLAND = 1;
};
home.stateVersion = "18.09";
gtk = {
enable = true;
theme = {
name = "Arc-Dark";
package = pkgs.arc-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
};
programs.go = {
enable = true;
goPath = ".local/go";
};
};
}

View file

@ -1,27 +0,0 @@
{ pkgs, ... }:
{
imports = [ ../profiles/direnv ../profiles/git ../profiles/zsh ../profiles/neovim ../profiles/syncthing ../profiles/kdeconnect ../profiles/podman ../profiles/alacritty ../profiles/tmux ../profiles/mpv ../profiles/sway ];
home.sessionVariables = {
XDG_DATA_DIRS = "$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share";
EDITOR = "${pkgs.neovim}/bin/nvim";
MOZ_ENABLE_WAYLAND = 1;
};
home.stateVersion = "18.09";
gtk = {
enable = true;
theme = {
name = "Arc-Dark";
package = pkgs.arc-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
};
programs.go = {
enable = true;
goPath = ".local/go";
};
}

View file

@ -1,11 +0,0 @@
{ pkgs, ... }:
{
users.mae = {
uid = 1000;
isNormalUser = true;
hashedPassword = "$6$vyS4lqYbl3$OXztJnAC5ZayA4eCBSIRlYtsi9u1HnafsfNL28l4CJh0BISVlSj6D48CA80cshnvYW/EEzfEj7z4zTNFpJAT/.";
shell = pkgs.zsh;
extraGroups = [ "wheel" "video" "lp" "scanner" "adbusers" "render" "libvirtd" "podman" "docker" ];
};
}

View file

@ -64,8 +64,9 @@ in
modules-right = [ "custom/riley-gender" "disk" "battery" "backlight" "pulseaudio" "clock" "tray" ]; modules-right = [ "custom/riley-gender" "disk" "battery" "backlight" "pulseaudio" "clock" "tray" ];
"custom/riley-gender" = { "custom/riley-gender" = {
interval = "360"; interval = "360";
exec = pkgs.writeShellScript "hello-from-waybar" '' exec = pkgs.writeShellScript "riley-gender" ''
set -euo pipefail set -euo pipefail
until ping -c1 google.com >/dev/null 2>&1; do :; done
gender="$(${pkgs.curl}/bin/curl 'https://rly.cx/api/gender')" gender="$(${pkgs.curl}/bin/curl 'https://rly.cx/api/gender')"
pronouns="$(${pkgs.curl}/bin/curl 'https://rly.cx/api/pronouns')" pronouns="$(${pkgs.curl}/bin/curl 'https://rly.cx/api/pronouns')"
echo -n "Riley: $gender ($pronouns)" echo -n "Riley: $gender ($pronouns)"