refactor(flake)!: machines
-> hosts
This commit is contained in:
parent
703cd0264b
commit
a881c5d7e1
33 changed files with 52 additions and 45 deletions
120
hosts/nix-darwin/aarch64-darwin/limonka/configuration.nix
Normal file
120
hosts/nix-darwin/aarch64-darwin/limonka/configuration.nix
Normal file
|
@ -0,0 +1,120 @@
|
|||
{ inputs, outputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [ ];
|
||||
|
||||
# environment.darwinConfig = builtins.toString ./configuration.nix;
|
||||
|
||||
# Auto upgrade nix package and the daemon service.
|
||||
services.nix-daemon.enable = true;
|
||||
|
||||
nix = let
|
||||
flakeInputs = lib.filterAttrs (lib.const (lib.isType "flake")) inputs;
|
||||
in {
|
||||
# Ensure we can work with flakes
|
||||
# TODO: add to `README.md`
|
||||
# NOTE: run `sudo -i nix-env --uninstall nix` to uninstall the global `nix`
|
||||
package = pkgs.nixVersions.monitored.latest;
|
||||
|
||||
# This will add each flake input as a registry
|
||||
# To make nix3 commands consistent with your flake
|
||||
registry = lib.mapAttrs (_: value: { flake = value; }) flakeInputs;
|
||||
|
||||
# This will additionally add your inputs to the system's legacy channels
|
||||
# Making legacy nix commands consistent as well, awesome!
|
||||
nixPath = lib.mapAttrsToList (key: value: "${key}=flake:${key}") flakeInputs;
|
||||
|
||||
# extraOptions = ''
|
||||
# # Enable flakes and new 'nix' command
|
||||
# experimental-features = nix-command flakes
|
||||
# # Allow building multiple derivations in parallel
|
||||
# max-jobs = auto
|
||||
# # Deduplicate and optimize nix store
|
||||
# auto-optimise-store = true
|
||||
# # Keep outputs and derivations
|
||||
# keep-outputs = true
|
||||
# keep-derivations = true
|
||||
# '';
|
||||
|
||||
settings = {
|
||||
# Enable flakes and new 'nix' command
|
||||
experimental-features = [
|
||||
# "nix-command"
|
||||
# "flakes"
|
||||
|
||||
# "no-url-literals" # Disabling URL literals
|
||||
"ca-derivations" # Content-Addressable Derivations
|
||||
"recursive-nix" # Recursive Nix
|
||||
"flakes" # Flakes and related commands
|
||||
"nix-command" # Experimental Nix commands
|
||||
"auto-allocate-uids" # Automatic allocation of UIDs
|
||||
"cgroups" # Cgroup support
|
||||
# "daemon-trust-override" # Overriding daemon trust settings
|
||||
# "dynamic-derivations" # Dynamic derivation support
|
||||
# "discard-references" # Discarding build output references
|
||||
"fetch-closure" # builtins.fetchClosure
|
||||
"impure-derivations" # Impure derivations
|
||||
];
|
||||
|
||||
# Allow building multiple derivations in parallel
|
||||
max-jobs = "auto";
|
||||
|
||||
# Deduplicate and optimize nix store
|
||||
auto-optimise-store = false;
|
||||
|
||||
# Keep outputs and derivations
|
||||
keep-outputs = true;
|
||||
keep-derivations = true;
|
||||
|
||||
trusted-users = [
|
||||
"root"
|
||||
"pavelatanasov"
|
||||
];
|
||||
|
||||
# Add nix-community and rix101 cachix caches
|
||||
substituters = [
|
||||
"https://rix101.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://lean4.cachix.org"
|
||||
"https://nixpkgs-cross-overlay.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"rix101.cachix.org-1:2u9ZGi93zY3hJXQyoHkNBZpJK+GiXQyYf9J5TLzCpFY="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"lean4.cachix.org-1:mawtxSxcaiWE24xCXXgh3qnvlTkyU7evRRnGeAhD4Wk="
|
||||
"nixpkgs-cross-overlay.cachix.org-1:TjKExGN4ys960TlsGqNOI/NBdoz2Jdr2ow1VybWV5JM="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||
programs.zsh.enable = true; # default shell on catalina
|
||||
|
||||
# Fonts
|
||||
fonts.packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||
];
|
||||
|
||||
reo101 = {
|
||||
system = {
|
||||
enable = true;
|
||||
};
|
||||
brew = {
|
||||
enable = true;
|
||||
};
|
||||
yabai = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Keyboard
|
||||
system.keyboard.enableKeyMapping = true;
|
||||
system.keyboard.remapCapsLockToEscape = true;
|
||||
|
||||
# Add ability to used TouchID for sudo authentication
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
|
||||
# Used for backwards compatibility, please read the changelog before changing.
|
||||
# > darwin-rebuild changelog
|
||||
system.stateVersion = 4;
|
||||
}
|
162
hosts/nix-darwin/aarch64-darwin/limonka/home/pavelatanasov.nix
Normal file
162
hosts/nix-darwin/aarch64-darwin/limonka/home/pavelatanasov.nix
Normal file
|
@ -0,0 +1,162 @@
|
|||
{ inputs, outputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
home = {
|
||||
username = lib.mkForce "pavelatanasov";
|
||||
homeDirectory = lib.mkForce "/Users/pavelatanasov";
|
||||
stateVersion = "23.05";
|
||||
};
|
||||
|
||||
# Set env vars
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
programs.command-not-found.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# WM
|
||||
yabai
|
||||
skhd
|
||||
|
||||
# Discord
|
||||
discord
|
||||
|
||||
# Shell
|
||||
btop
|
||||
ripgrep
|
||||
zellij
|
||||
|
||||
# Neovim
|
||||
neovim
|
||||
# (neovim.overrideAttrs (oldAttrs: {
|
||||
# lua = luajitcoroutineclone;
|
||||
# }))
|
||||
(pkgs.writeShellScriptBin "lua" "exec -a $0 ${luajitPackages.nlua}/bin/nlua $@")
|
||||
# luajitPackages.nlua
|
||||
fennel
|
||||
# fennel-language-server
|
||||
fennel-ls
|
||||
git
|
||||
gh
|
||||
|
||||
# (gnumake.override { guileSupport = true; })
|
||||
gnumake
|
||||
|
||||
# # Emacs
|
||||
# (emacs-unstable.override {
|
||||
# withGTK3 = true;
|
||||
# :
|
||||
# })
|
||||
|
||||
# Dhall
|
||||
# dhall
|
||||
# dhall-lsp-server
|
||||
|
||||
# Circom
|
||||
# circom
|
||||
# circom-lsp
|
||||
|
||||
# Nix
|
||||
nil
|
||||
# nixd
|
||||
nurl
|
||||
|
||||
# Mail
|
||||
# himalaya
|
||||
|
||||
# Java
|
||||
graalvm-ce
|
||||
|
||||
# SSH and GPG
|
||||
openssh
|
||||
gnupg
|
||||
pinentry_mac
|
||||
(pass.withExtensions (extensions: with extensions; [
|
||||
pass-otp
|
||||
]))
|
||||
|
||||
# GCP
|
||||
google-cloud-sdk
|
||||
|
||||
# FMI
|
||||
vim-fmi-cli
|
||||
|
||||
# Zig
|
||||
zigpkgs.master
|
||||
inputs.zls-overlay.packages.${pkgs.system}.default
|
||||
|
||||
# Android
|
||||
android-tools
|
||||
];
|
||||
|
||||
reo101 = {
|
||||
shell = {
|
||||
enable = true;
|
||||
shells = [ "nushell" "zsh" ];
|
||||
starship = true;
|
||||
atuin = true;
|
||||
direnv = true;
|
||||
zoxide = true;
|
||||
};
|
||||
scm = {
|
||||
git.enable = true;
|
||||
jj.enable = true;
|
||||
};
|
||||
wezterm = {
|
||||
enable = true;
|
||||
};
|
||||
spotify = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
|
||||
# programs.git = {
|
||||
# enable = true;
|
||||
# userName = "reo101";
|
||||
# # userEmail = "pavel.atanasov@limechain.tech";
|
||||
# userEmail = "pavel.atanasov2001@gmail.com";
|
||||
# signing = {
|
||||
# signByDefault = true;
|
||||
# key = "675AA7EF13964ACB";
|
||||
# };
|
||||
# # init.defaultBranch = "master";
|
||||
# lfs = {
|
||||
# enable = true;
|
||||
# };
|
||||
# };
|
||||
|
||||
|
||||
home.file.".gnupg/gpg-agent.conf" = {
|
||||
text = ''
|
||||
allow-preset-passphrase
|
||||
max-cache-ttl 86400
|
||||
default-cache-ttl 86400
|
||||
enable-ssh-support
|
||||
pinentry-program ${pkgs.pinentry_mac}/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac
|
||||
# pinentry-program /usr/local/opt/pinentry-touchid/bin/pinentry-touchid
|
||||
'';
|
||||
};
|
||||
|
||||
home.file.".gnupg/sshcontrol" = {
|
||||
text = ''
|
||||
CFDE97EDC2FDB2FD27020A084F1E3F40221BAFE7
|
||||
'';
|
||||
};
|
||||
|
||||
programs.zsh.initExtra = ''
|
||||
# if [ "''${SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
|
||||
# export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
||||
# fi
|
||||
# if [ -z "$SSH_AUTH_SOCK" ]; then
|
||||
# export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)
|
||||
# fi
|
||||
unset SSH_AGENT_PID
|
||||
export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)
|
||||
gpg-connect-agent updatestartuptty /bye >/dev/null
|
||||
export GPG_TTY=$(tty)
|
||||
'';
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue