btw i use nix
1{
2 pkgs,
3 config,
4 lib,
5 ...
6}:
7
8{
9 user.shell = "${pkgs.zsh}/bin/zsh";
10
11 environment.packages = with pkgs; [
12 util-linux # for whereis
13 gawk # for shell history search
14 ffmpeg
15 ledger
16 ];
17 environment.etcBackupExtension = ".bak";
18
19 # Tailscale nameserver https://github.com/nix-community/nix-on-droid/issues/2
20 environment.etc."resolv.conf".text = lib.mkForce ''
21 nameserver 100.100.100.100
22 nameserver 1.1.1.1
23 nameserver 8.8.8.8
24 '';
25
26 home-manager = {
27 useGlobalPkgs = true;
28 config =
29 { pkgs, lib, ... }:
30 {
31 imports = [ ../home/default.nix ];
32
33 # Use the same overlays as the system packages
34 nixpkgs = { inherit (config.nixpkgs) overlays; };
35
36 nix = {
37 package = pkgs.nix;
38 settings.experimental-features = [
39 "nix-command"
40 "flakes"
41 ];
42 };
43
44 # https://github.com/nix-community/nix-on-droid/issues/185
45 home.shellAliases = {
46 sshd =
47 let
48 config = pkgs.writeText "sshd_config" ''
49 HostKey /data/data/com.termux.nix/files/home/.ssh/id_ed25519
50 Port 9022
51 '';
52 in
53 "$(readlink $(whereis sshd)) -f ${config}";
54 ping = "/android/system/bin/linker64 /android/system/bin/ping";
55 };
56
57 home.file = {
58 ".ssh/authorized_keys".source = ../modules/authorized_keys;
59 };
60
61 programs.ssh = {
62 enable = true;
63 extraConfig = ''
64 User ryan
65 '';
66 };
67
68 home.sessionVariables = {
69 LEDGER_FILE = ''~/storage/Documents/vault/ledger/`date "+%Y"`.ledger'';
70 };
71
72 home.stateVersion = "22.05";
73 };
74 };
75 system.stateVersion = "22.05";
76}