mirror of
https://github.com/oqyude/nixos.git
synced 2026-08-08 23:53:11 +03:00
termux setup
This commit is contained in:
@@ -9,4 +9,10 @@
|
||||
sapphira = import ./server.nix flakeContext; # sapphira
|
||||
wsl = import ./wsl.nix flakeContext; # wsl
|
||||
};
|
||||
nixOnDroidConfigurations = {
|
||||
epral = import ./mobile.nix flakeContext; # epral (Android via nix-on-droid)
|
||||
# Alias so a plain `nix-on-droid switch` from a local clone
|
||||
# (~/.config/nix-on-droid) picks up the device config without `#epral`.
|
||||
default = import ./mobile.nix flakeContext;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ let
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
inputs.self.nixosModules.default # base defaultModule (termux-trimmed)
|
||||
inputs.self.nixosModules.strict
|
||||
];
|
||||
|
||||
xlib.device = {
|
||||
@@ -44,25 +44,26 @@ let
|
||||
nano
|
||||
|
||||
# Some common stuff that people expect to have
|
||||
openssh
|
||||
treefmt
|
||||
git
|
||||
procps
|
||||
psmisc # provides killall (attr `killall` was removed from nixpkgs)
|
||||
bzip2
|
||||
diffutils
|
||||
findutils
|
||||
util-linux # renamed from utillinux
|
||||
tzdata
|
||||
hostname
|
||||
man
|
||||
git
|
||||
gnugrep
|
||||
gnupg
|
||||
gnused
|
||||
gnutar
|
||||
bzip2
|
||||
gzip
|
||||
zip
|
||||
hostname
|
||||
man
|
||||
ncurses
|
||||
openssh
|
||||
procps
|
||||
psmisc # provides killall (attr `killall` was removed from nixpkgs)
|
||||
treefmt
|
||||
tzdata
|
||||
unzip
|
||||
util-linux # renamed from utillinux
|
||||
zip
|
||||
];
|
||||
|
||||
# Backup etc files instead of failing to activate generation if a file already exists in /etc
|
||||
@@ -71,12 +72,17 @@ let
|
||||
# Shared userspace home-manager config (same cozy shell as on NixOS hosts).
|
||||
# nix-on-droid forces home.username / home.homeDirectory from user.*,
|
||||
# so the strict module must not set them.
|
||||
# xlib is injected via home-manager.extraSpecialArgs (the HM submodule
|
||||
# does not inherit the nix-on-droid module args).
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "hm-bak";
|
||||
extraSpecialArgs = {
|
||||
inherit xlib;
|
||||
};
|
||||
config = { ... }: {
|
||||
imports = [
|
||||
../home/shared/strict.nix
|
||||
../home/termux.nix
|
||||
];
|
||||
home.stateVersion = "24.05";
|
||||
};
|
||||
@@ -1,9 +0,0 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
nixOnDroidConfigurations = {
|
||||
epral = import ./epral.nix flakeContext; # epral (Android via nix-on-droid)
|
||||
# Alias so a plain `nix-on-droid switch` from a local clone
|
||||
# (~/.config/nix-on-droid) picks up the device config without `#epral`.
|
||||
default = import ./epral.nix flakeContext;
|
||||
};
|
||||
}
|
||||
@@ -120,7 +120,6 @@
|
||||
}
|
||||
// (import ./configurations flakeContext)
|
||||
// (import ./deploy flakeContext)
|
||||
// (import ./droid flakeContext)
|
||||
// (import ./home flakeContext)
|
||||
// (import ./modules flakeContext)
|
||||
// (import ./overlays flakeContext)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
# Shared "strict" home-manager module.
|
||||
@@ -17,7 +18,8 @@
|
||||
# (which stay NixOS-only for now). When this module is wired into NixOS hosts
|
||||
# via sharedModules, deduplicate those files.
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
# Lazy (alias lc)
|
||||
lazycli
|
||||
|
||||
@@ -45,18 +47,16 @@
|
||||
# Monitoring
|
||||
htop
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
sessionVariables = {
|
||||
TUCKR_HOME = "$HOME/Storage/dotfiles";
|
||||
EDITOR = "fresh";
|
||||
};
|
||||
|
||||
home.file.".nanorc".text = ''
|
||||
file.".nanorc".text = ''
|
||||
set nowrap
|
||||
set tabstospaces
|
||||
set tabsize 2
|
||||
'';
|
||||
|
||||
};
|
||||
programs = {
|
||||
# ---- Shell: zsh ----
|
||||
zsh = {
|
||||
@@ -90,6 +90,7 @@
|
||||
lg = "lazygit";
|
||||
lc = "lazycli";
|
||||
gp = "git pull";
|
||||
ns = "nix-on-droid switch --flake ~/.config/nix-on-droid#${xlib.device.hostname}";
|
||||
gp-ns = "gp && ns";
|
||||
gc = "git add . && git commit -m 'dev: автокоммит $(date +'%Y-%m-%d %H:%M:%S')'";
|
||||
y = "yazi";
|
||||
@@ -97,6 +98,7 @@
|
||||
beet-path-library = "realpath --relative-to='${config.home.homeDirectory}/.config/beets/My' .";
|
||||
z-proxy = "export ALL_PROXY=socks5://localhost:10808";
|
||||
zh-proxy = "export HTTPS_PROXY=http://localhost:10808 && export HTTP_PROXY=http://localhost:10808";
|
||||
nix-dir = "cd ~/.config/nix-on-droid";
|
||||
|
||||
# beets
|
||||
beet-ima = "beet im ./ -A";
|
||||
+28
-12
@@ -12,15 +12,11 @@ let
|
||||
# NixOS-only modules. termux runs nix-on-droid (its own module system,
|
||||
# class = "nixOnDroid"): options like services.*, users.*, sops.*, disko.*
|
||||
# and nixpkgs.overlays (flake assertion) do not exist there.
|
||||
imports =
|
||||
with inputs;
|
||||
[
|
||||
./options.nix
|
||||
(./. + "/${deviceType}") # specific modules
|
||||
]
|
||||
++ lib.optionals (deviceType != "termux") [
|
||||
imports = with inputs; [
|
||||
./essentials
|
||||
./options.nix
|
||||
./users.nix
|
||||
(./. + "/${deviceType}")
|
||||
|
||||
home-manager.nixosModules.home-manager # home-manager module
|
||||
# nix-index-database.nixosModules.nix-index # nix-index module
|
||||
@@ -29,12 +25,9 @@ let
|
||||
self.homeConfigurations.default.nixosModule # default homeConfigurations
|
||||
disko.nixosModules.disko # disko module
|
||||
];
|
||||
# nix-on-droid asserts that nixpkgs.* stays unset in flake mode.
|
||||
nixpkgs.overlays = lib.mkIf (deviceType != "termux") (
|
||||
with inputs; [
|
||||
nixpkgs.overlays = with inputs; [
|
||||
self.nixosOverlays.default
|
||||
]
|
||||
);
|
||||
];
|
||||
_module.args = {
|
||||
inputs = inputs;
|
||||
xlib = config.xlib;
|
||||
@@ -57,6 +50,28 @@ let
|
||||
sops-nix.nixosModules.sops # sops module
|
||||
];
|
||||
|
||||
_module.args = {
|
||||
inputs = inputs;
|
||||
xlib = config.xlib;
|
||||
};
|
||||
};
|
||||
strictModule =
|
||||
{
|
||||
config,
|
||||
deviceType,
|
||||
lib,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = with inputs; [
|
||||
# ./essentials
|
||||
# ./users.nix
|
||||
./options.nix
|
||||
(./. + "/${deviceType}")
|
||||
# sops-nix.nixosModules.sops
|
||||
];
|
||||
|
||||
_module.args = {
|
||||
inputs = inputs;
|
||||
xlib = config.xlib;
|
||||
@@ -67,5 +82,6 @@ in
|
||||
nixosModules = {
|
||||
default = defaultModule;
|
||||
public = publicModule;
|
||||
strict = strictModule;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user