nix on droid
This commit is contained in:
commit
663b263a8c
18
.config/zsh/history
Normal file
18
.config/zsh/history
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
cd
|
||||||
|
ls
|
||||||
|
v home.nix
|
||||||
|
ls
|
||||||
|
v home.nix
|
||||||
|
hx home.nix
|
||||||
|
rb
|
||||||
|
: 1721746770:0;git init
|
||||||
|
: 1721746775:0;rb
|
||||||
|
: 1721746802:0;fish
|
||||||
|
: 1721746843:0;v nix-on-droid.nix
|
||||||
|
: 1721746869:0;rb
|
||||||
|
: 1721746902:0;git init
|
||||||
|
: 1721746952:0;git config --global init.defaultBranch majn
|
||||||
|
: 1721746957:0;git config --global init.defaultBranch main
|
||||||
|
: 1721746968:0;rm -fr .git
|
||||||
|
: 1721746973:0;git init
|
||||||
|
: 1721746979:0;git add .
|
200
flake.lock
Normal file
200
flake.lock
Normal file
|
@ -0,0 +1,200 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"home-manager": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-formatter-pack": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nix-on-droid",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nmd": "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",
|
||||||
|
"nix-formatter-pack": "nix-formatter-pack",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-docs": "nixpkgs-docs",
|
||||||
|
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
|
||||||
|
"nmd": "nmd_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1720396533,
|
||||||
|
"narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-on-droid",
|
||||||
|
"rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "release-24.05",
|
||||||
|
"repo": "nix-on-droid",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721226092,
|
||||||
|
"narHash": "sha256-UBvzVpo5sXSi2S/Av+t+Q+C2mhMIw/LBEZR+d6NMjws=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c716603a63aca44f39bef1986c13402167450e0a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nmd": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1666190571,
|
||||||
|
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nmd",
|
||||||
|
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nmd",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nmd_2": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-on-droid": "nix-on-droid",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
21
flake.nix
Normal file
21
flake.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
description = "Basic example of Nix-on-Droid system config.";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||||
|
|
||||||
|
nix-on-droid = {
|
||||||
|
url = "github:nix-community/nix-on-droid/release-24.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, nix-on-droid }: {
|
||||||
|
|
||||||
|
nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
|
||||||
|
pkgs = import nixpkgs { system = "aarch64-linux"; };
|
||||||
|
modules = [ ./nix-on-droid.nix ];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
9
home.nix
Normal file
9
home.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./home
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
11
home/default.nix
Normal file
11
home/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./zsh
|
||||||
|
./git
|
||||||
|
./helix
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
7
home/git/default.nix
Normal file
7
home/git/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ ...}: {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userEmail = "mail@joygnu.org";
|
||||||
|
userName = "joygnu";
|
||||||
|
};
|
||||||
|
}
|
15
home/helix/default.nix
Normal file
15
home/helix/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
settings = {
|
||||||
|
theme = "gruvbox";
|
||||||
|
keys.normal = {
|
||||||
|
space.space = "file_picker";
|
||||||
|
Z.Z = ":wq";
|
||||||
|
Z.Q = ":q!";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
34
home/zsh/default.nix
Normal file
34
home/zsh/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{ pkgs, ... } :
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
historySubstringSearch.enable = true;
|
||||||
|
dotDir = ".config/zsh";
|
||||||
|
initExtra = "PROMPT='%F{green}%~%f '";
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
v = "hx";
|
||||||
|
cat = "bat";
|
||||||
|
ls = "${pkgs.eza}/bin/eza --icons -a --group-directories-first";
|
||||||
|
pu = "bash ~/nix/home/zsh/push.sh";
|
||||||
|
fr = "sudo systemctl reboot --firmware";
|
||||||
|
ser = "ssh root@joygnu.org";
|
||||||
|
rb = "nix-on-droid switch --flake ~/.config/nix-on-droid";
|
||||||
|
};
|
||||||
|
|
||||||
|
history.size = 1000000;
|
||||||
|
history.path = ".config/zsh/history";
|
||||||
|
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
"history-substring-search"
|
||||||
|
"git"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
25
home/zsh/push.sh
Executable file
25
home/zsh/push.sh
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to push to all remotes
|
||||||
|
push_to_all_remotes() {
|
||||||
|
# Get a list of all remotes
|
||||||
|
remotes=$(git remote)
|
||||||
|
|
||||||
|
# Check if there are no remotes
|
||||||
|
if [ -z "$remotes" ]; then
|
||||||
|
echo "No remotes found."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Loop through each remote and push
|
||||||
|
for remote in $remotes; do
|
||||||
|
echo "Pushing to remote '$remote'..."
|
||||||
|
git push "$remote" --all
|
||||||
|
git push "$remote" --tags
|
||||||
|
echo "Push to remote '$remote' completed."
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute the function
|
||||||
|
push_to_all_remotes
|
||||||
|
|
66
nix-on-droid.nix
Normal file
66
nix-on-droid.nix
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Simply install just the packages
|
||||||
|
environment.packages = with pkgs; [
|
||||||
|
# User-facing stuff that you really really want to have
|
||||||
|
vim # or some other editor, e.g. nano or neovim
|
||||||
|
zsh
|
||||||
|
font-awesome
|
||||||
|
fish
|
||||||
|
helix
|
||||||
|
fastfetch
|
||||||
|
mpv
|
||||||
|
ffmpeg
|
||||||
|
yt-dlp
|
||||||
|
# Some common stuff that people expect to have
|
||||||
|
procps
|
||||||
|
killall
|
||||||
|
openssh_hpn
|
||||||
|
git
|
||||||
|
diffutils
|
||||||
|
findutils
|
||||||
|
utillinux
|
||||||
|
tzdata
|
||||||
|
hostname
|
||||||
|
man
|
||||||
|
gnugrep
|
||||||
|
gnupg
|
||||||
|
gnused
|
||||||
|
gnutar
|
||||||
|
bzip2
|
||||||
|
gzip
|
||||||
|
xz
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
];
|
||||||
|
|
||||||
|
# Backup etc files instead of failing to activate generation if a file already exists in /etc
|
||||||
|
environment.etcBackupExtension = ".bak";
|
||||||
|
|
||||||
|
# Read the changelog before changing this value
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
|
||||||
|
# Set up nix for flakes
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Set your time zone
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
config = ./home.nix;
|
||||||
|
};
|
||||||
|
|
||||||
|
user.shell = "${pkgs.zsh}/bin/zsh";
|
||||||
|
|
||||||
|
terminal = {
|
||||||
|
colors = {
|
||||||
|
background = "#282828";
|
||||||
|
foreground = "#fbf1c7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
Reference in a new issue