configurations for my servers and desktops
nix
nixos
flake
dots
dotfiles
1{pkgs, ...}: let
2 isDarwin = pkgs.stdenv.isDarwin;
3 homeDir =
4 if isDarwin
5 then "/Users/devin"
6 else "/home/devin";
7in {
8 users.users.devin =
9 {
10 home = homeDir;
11 shell = pkgs.fish;
12 openssh.authorizedKeys.keys = [''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILyOJLlmq653uVs/1KdVnaMzi+EolB7EJMJ7AdBxVi6m devin@devins.page''];
13 }
14 // (
15 if isDarwin
16 then {uid = 501;}
17 else {
18 isNormalUser = true;
19 extraGroups = ["networkmanager" "wheel"];
20 }
21 );
22
23 home-manager.users.devin = {pkgs, ...}: {
24 imports = [
25 ./programs/fastfetch.nix
26 ./programs/fish.nix
27 ./programs/git.nix
28 ./programs/jujutsu.nix
29 ./programs/neovim.nix
30 ./programs/tmux.nix
31 ];
32 home = {
33 username = "devin";
34 homeDirectory = homeDir;
35 stateVersion = "23.11";
36 packages = with pkgs; [
37 alejandra
38 bat
39 coreutils
40 just
41 nh
42 nix-your-shell
43 nixd
44 rsync
45 starship
46 tree
47 xz
48 ];
49 };
50 programs.home-manager.enable = true;
51 };
52}