summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2026-01-14 22:57:40 +0100
committerandromeda <andromeda@lenovo>2026-01-14 22:57:40 +0100
commit580cbd185162385276dd9113903f0705284817f6 (patch)
tree0ab4e242c2d07f9e54e1a581edde13080266bce6
parent6fdcd136270f6b68b5001b4125280bf405a31d39 (diff)
init nix-on-droid
-rw-r--r--flake.lock159
-rw-r--r--flake.nix19
-rw-r--r--modules/nix-on-droid/home.nix165
-rw-r--r--modules/nix-on-droid/nix-on-droid.nix5
4 files changed, 348 insertions, 0 deletions
diff --git a/flake.lock b/flake.lock
index 91bce37..0335a11 100644
--- a/flake.lock
+++ b/flake.lock
@@ -385,6 +385,27 @@
"type": "github"
}
},
+ "home-manager_3": {
+ "inputs": {
+ "nixpkgs": [
+ "nix-on-droid",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709445365,
+ "narHash": "sha256-DVv6nd9FQBbMWbOmhq0KVqmlc3y3FMSYl49UXmMcO+0=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "4de84265d7ec7634a69ba75028696d74de9a44a7",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
"impermanence": {
"locked": {
"lastModified": 1737831083,
@@ -433,6 +454,57 @@
"type": "github"
}
},
+ "nix-formatter-pack": {
+ "inputs": {
+ "nixpkgs": [
+ "nix-on-droid",
+ "nixpkgs"
+ ],
+ "nmd": [
+ "nix-on-droid",
+ "nmd"
+ ],
+ "nmt": "nmt"
+ },
+ "locked": {
+ "lastModified": 1705252799,
+ "narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=",
+ "owner": "Gerschtli",
+ "repo": "nix-formatter-pack",
+ "rev": "2de39dedd79aab14c01b9e2934842051a160ffa5",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Gerschtli",
+ "repo": "nix-formatter-pack",
+ "type": "github"
+ }
+ },
+ "nix-on-droid": {
+ "inputs": {
+ "home-manager": "home-manager_3",
+ "nix-formatter-pack": "nix-formatter-pack",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "nixpkgs-docs": "nixpkgs-docs",
+ "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
+ "nmd": "nmd"
+ },
+ "locked": {
+ "lastModified": 1765031149,
+ "narHash": "sha256-4ZtlnCp4blhsjGnQIxAXDAj7nCJKy7tozoBRtklmwcU=",
+ "owner": "nix-community",
+ "repo": "nix-on-droid",
+ "rev": "55b6449b4582a4ba3ce712543c973360a026db7d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nix-on-droid",
+ "type": "github"
+ }
+ },
"nix-zulip": {
"flake": false,
"locked": {
@@ -488,6 +560,38 @@
"type": "github"
}
},
+ "nixpkgs-docs": {
+ "locked": {
+ "lastModified": 1705957679,
+ "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "9a333eaa80901efe01df07eade2c16d183761fa3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "release-23.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-for-bootstrap": {
+ "locked": {
+ "lastModified": 1720244366,
+ "narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
+ "type": "github"
+ }
+ },
"nixpkgs_2": {
"locked": {
"lastModified": 1764242076,
@@ -504,6 +608,44 @@
"type": "github"
}
},
+ "nmd": {
+ "inputs": {
+ "nixpkgs": [
+ "nix-on-droid",
+ "nixpkgs-docs"
+ ],
+ "scss-reset": "scss-reset"
+ },
+ "locked": {
+ "lastModified": 1705050560,
+ "narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=",
+ "owner": "~rycee",
+ "repo": "nmd",
+ "rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3",
+ "type": "sourcehut"
+ },
+ "original": {
+ "owner": "~rycee",
+ "repo": "nmd",
+ "type": "sourcehut"
+ }
+ },
+ "nmt": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1648075362,
+ "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
+ "owner": "rycee",
+ "repo": "nmt",
+ "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "rycee",
+ "repo": "nmt",
+ "type": "gitlab"
+ }
+ },
"noshell": {
"inputs": {
"nixpkgs": [
@@ -621,6 +763,7 @@
"disko": "disko",
"home-manager": "home-manager_2",
"impermanence": "impermanence",
+ "nix-on-droid": "nix-on-droid",
"nix-zulip": "nix-zulip",
"nixos-mailserver": "nixos-mailserver",
"nixpkgs": "nixpkgs",
@@ -631,6 +774,22 @@
"stylix": "stylix"
}
},
+ "scss-reset": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1631450058,
+ "narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=",
+ "owner": "andreymatin",
+ "repo": "scss-reset",
+ "rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91",
+ "type": "github"
+ },
+ "original": {
+ "owner": "andreymatin",
+ "repo": "scss-reset",
+ "type": "github"
+ }
+ },
"stylix": {
"inputs": {
"base16": "base16",
diff --git a/flake.nix b/flake.nix
index ec6c255..15d4325 100644
--- a/flake.nix
+++ b/flake.nix
@@ -18,6 +18,10 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+ nix-on-droid = {
+ url = "github:nix-community/nix-on-droid";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
nix-zulip = {
url = "git+https://git.afnix.fr/nix-zulip/nix-zulip";
flake = false;
@@ -50,6 +54,7 @@
impermanence,
nixos-mailserver,
nixpkgs,
+ nix-on-droid,
nix-zulip,
noshell,
nur,
@@ -117,5 +122,19 @@
builtins.mapAttrs
(hostname: value: configurationWithHomeManager value)
machines;
+ nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
+ pkgs = import nixpkgs {system = "aarch64-linux";};
+ modules = [
+ ./modules/nix-on-droid/nix-on-droid.nix
+ {
+ home-manager.useGlobalPkgs = true;
+ home-manager.users."andromeda" = {
+ imports = [
+ ./modules/nix-on-droid/home.nix
+ ];
+ };
+ }
+ ];
+ };
};
}
diff --git a/modules/nix-on-droid/home.nix b/modules/nix-on-droid/home.nix
new file mode 100644
index 0000000..c545105
--- /dev/null
+++ b/modules/nix-on-droid/home.nix
@@ -0,0 +1,165 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: {
+ home = {
+ username = "andromeda";
+ homeDirectory = "/home/${config.home.username}";
+ stateVersion = "26.05";
+ packages = [
+ pkgs.brush
+ pkgs.dust
+ pkgs.fzf
+ pkgs.glow
+ pkgs.nix-output-monitor
+ pkgs.ranger
+ pkgs.rip2
+ pkgs.ripgrep
+ pkgs.tree
+ pkgs.zoxide
+ ];
+ };
+ programs = {
+ bash = {
+ enable = true;
+ shellAliases = {
+ neofetch = "fastfetch";
+ ls = lib.mkForce "lsd";
+ ll = lib.mkForce "lsd -l";
+ l = "lsd -la";
+ cd = "z";
+ gg = "git log --oneline --abbrev-commit --all --graph --decorate --color";
+ md = "glow";
+ };
+ bashrcExtra = ''
+ PS1="\u@\h:\w$"
+ eval "$(zoxide init bash)"
+ '';
+ };
+ btop = {
+ enable = true;
+ settings = {
+ theme_background = false;
+ vim_keys = true;
+ rounded_corners = false;
+ graph_symbol = "braille";
+ update_ms = 150;
+ proc_sorting = "cpu lazy";
+ proc_gradient = false;
+ proc_left = true;
+ cpu_single_graph = true;
+ cpu_bottom = true;
+ clock_format = "/user@/host:/uptime@%H:%M";
+ background_update = true;
+ mem_graphs = false;
+ mem_below_net = true;
+ show_swap = false;
+ only_physical = true;
+ show_io_stat = true;
+ io_mode = false;
+ io_graph_combined = false;
+ };
+ };
+ fastfetch.enable = true;
+ git = {
+ enable = true;
+ settings = {
+ user = {
+ name = config.home.username;
+ email = "${config.home.username}@android";
+ };
+ init.defaultBranch = "master";
+ };
+ };
+ home-manager.enable = true;
+ lsd.enable = true;
+ nvf = {
+ enable = true;
+ settings.vim = {
+ autocomplete.nvim-cmp.enable = false;
+ formatter.conform-nvim = {
+ enable = true;
+ setupOpts.format_on_save = {
+ lsp_format = "fallback";
+ timeout_ms = 5000;
+ };
+ };
+ lsp.otter-nvim.enable = true;
+ git.enable = true;
+ keymaps = [
+ {
+ key = "<Down>";
+ mode = ["i" "n" "v" "c"];
+ action = "<NOP>";
+ }
+ {
+ key = "<Up>";
+ mode = ["i" "n" "v" "c"];
+ action = "<NOP>";
+ }
+ {
+ key = "<Left>";
+ mode = ["i" "n" "v" "c"];
+ action = "<NOP>";
+ }
+ {
+ key = "<Right>";
+ mode = ["i" "n" "v" "c"];
+ action = "<NOP>";
+ }
+ {
+ key = "jj";
+ mode = ["i"];
+ action = "<Esc>";
+ }
+ {
+ key = "kk";
+ mode = ["i"];
+ action = "<Esc>";
+ }
+ {
+ key = "jk";
+ mode = ["i"];
+ action = "<Esc>";
+ }
+ {
+ key = "kj";
+ mode = ["i"];
+ action = "<Esc>";
+ }
+ {
+ key = "<Esc>";
+ mode = ["i"];
+ action = "<Nop>";
+ }
+ ];
+ languages = {
+ nix = {
+ enable = true;
+ format.enable = true;
+ lsp.enable = true;
+ };
+ haskell = {
+ enable = true;
+ lsp.enable = true;
+ };
+ };
+ lineNumberMode = "relative";
+ options = {
+ tabstop = 2;
+ shiftwidth = 2;
+ expandtab = true;
+ smarttab = true;
+ foldmethod = "indent";
+ number = true;
+ colorcolumn = "80";
+ };
+ statusline.lualine.enable = true;
+ syntaxHighlighting = true;
+ };
+ };
+ ssh.enable = true;
+ };
+}
diff --git a/modules/nix-on-droid/nix-on-droid.nix b/modules/nix-on-droid/nix-on-droid.nix
new file mode 100644
index 0000000..5e1b9b1
--- /dev/null
+++ b/modules/nix-on-droid/nix-on-droid.nix
@@ -0,0 +1,5 @@
+{pkgs, ...}: {
+ environment.packages = [pkgs.git];
+ system.stateVersion = "26.05";
+ nix.settings.experimentalFeatures = ["nix-command" "flakes"];
+}