char/flake

nixos flake

git clone https://git.t4t.associates/char/flake

Charlotte Sommove sakana host override to all machines8ff99a0

main
1.7 KiB88 linesraw
1{ pkgs, unstable-pkgs, lib, ... }:
2{
3  nix = {
4    package = unstable-pkgs.lix;
5
6    settings.experimental-features = [
7      "nix-command"
8      "flakes"
9    ];
10    gc = {
11      automatic = true;
12      dates = "monthly";
13    };
14
15    registry.nixpkgs-unstable = {
16      from = {
17        id = "nixpkgs-unstable";
18        type = "indirect";
19      };
20      to = {
21        type = "github";
22        owner = "NixOS";
23        repo = "nixpkgs";
24        ref = "nixpkgs-unstable";
25      };
26    };
27  };
28
29  boot.loader.systemd-boot.enable = true;
30  boot.loader.efi.canTouchEfiVariables = true;
31  boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
32
33  nixpkgs.config.allowUnfree = true;
34  programs.nix-ld.enable = true;
35
36  security.sudo.wheelNeedsPassword = false;
37  services.openssh.enable = true;
38
39  # sakana are geoblocking uk+eea+ch; route via nyc
40  networking.hosts."104.168.4.195" = [ "api.sakana.ai" ];
41
42  services.tailscale.enable = true;
43  services.tailscale.package = unstable-pkgs.tailscale;
44
45  programs.zsh.enable = true;
46  programs.git.enable = true;
47
48  programs.vim = {
49    enable = true;
50    package = unstable-pkgs.vim;
51  };
52
53  environment.shells = [ pkgs.zsh ];
54  environment.variables = {
55    EDITOR = "hx";
56    VISUAL = "hx";
57    SYSTEMD_EDITOR = "hx";
58  };
59
60  environment.systemPackages =
61    with pkgs;
62    [
63      gcc
64      binutils
65      pkg-config
66      glibc
67      gnumake
68      cmake
69      sqlite-interactive
70
71      wget
72      htop
73      tmux
74      unzip
75      file
76    ]
77    ++ [
78      unstable-pkgs.jujutsu
79      unstable-pkgs.vim
80      unstable-pkgs.helix
81      unstable-pkgs.ghostty.terminfo
82    ];
83
84  environment.etc.certfile = {
85    source = "/etc/ssl/certs/ca-bundle.crt";
86    target = "ssl/cert.pem";
87  };
88}