all repos — char/flake @ ea76baeb01b5002b94056a5e159dccad402d6dbb

nixos flake

profiles/common/base.nix (view raw)

 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  services.tailscale.enable = true;
39
40  programs.zsh.enable = true;
41  programs.git.enable = true;
42
43  programs.vim = {
44    enable = true;
45    defaultEditor = true;
46    package = unstable-pkgs.vim;
47  };
48
49  environment.shells = [ pkgs.zsh ];
50  environment.variables = {
51    EDITOR = "vim";
52    VISUAL = "vim";
53    SYSTEMD_EDITOR = "vim";
54  };
55
56  environment.systemPackages =
57    with pkgs;
58    [
59      gcc
60      binutils
61      pkg-config
62      glibc
63      gnumake
64      cmake
65      sqlite-interactive
66
67      wget
68      htop
69      tmux
70    ]
71    ++ [
72      unstable-pkgs.jujutsu
73      unstable-pkgs.vim
74      unstable-pkgs.ghostty.terminfo
75    ];
76
77  environment.etc.certfile = {
78    source = "/etc/ssl/certs/ca-bundle.crt";
79    target = "ssl/cert.pem";
80  };
81}