22 changed files with 33 additions and 614 deletions
@ -1,62 +0,0 @@ |
|||||
{ |
|
||||
description = "pfke nix config"; |
|
||||
|
|
||||
inputs = { |
|
||||
# Go back to nixos-unstable after PR 238700 is merged |
|
||||
# https://nixpk.gs/pr-tracker.html?pr=238700 |
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small"; |
|
||||
# You can access packages and modules from different nixpkgs revs |
|
||||
# at the same time. Here's an working example: |
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; |
|
||||
|
|
||||
hardware.url = "github:nixos/nixos-hardware"; |
|
||||
nix-colors.url = "github:misterio77/nix-colors"; |
|
||||
|
|
||||
# Home manager |
|
||||
home-manager = { |
|
||||
url = "github:nix-community/home-manager"; |
|
||||
inputs.nixpkgs.follows = "nixpkgs"; |
|
||||
}; |
|
||||
}; |
|
||||
|
|
||||
outputs = { self, nixpkgs, home-manager, ... }@inputs: |
|
||||
let |
|
||||
inherit (self) outputs; |
|
||||
lib = nixpkgs.lib // home-manager.lib; |
|
||||
systems = [ "aarch64-linux" "i686-linux" "x86_64-linux" ]; |
|
||||
forEachSystem = f: lib.genAttrs systems (sys: f pkgsFor.${sys}); |
|
||||
pkgsFor = nixpkgs.legacyPackages; |
|
||||
in |
|
||||
{ |
|
||||
inherit lib; |
|
||||
nixosModules = import ./modules/nixos; |
|
||||
homeManagerModules = import ./modules/home-manager; |
|
||||
templates = import ./templates; |
|
||||
|
|
||||
overlays = import ./overlays { inherit inputs outputs; }; |
|
||||
hydraJobs = import ./hydra.nix { inherit inputs outputs; }; |
|
||||
|
|
||||
packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; }); |
|
||||
devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; }); |
|
||||
formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt); |
|
||||
|
|
||||
wallpapers = import ./home/misterio/wallpapers; |
|
||||
|
|
||||
nixosConfigurations = { |
|
||||
# Main desktop |
|
||||
atlas = lib.nixosSystem { |
|
||||
modules = [ ./hosts/atlas ]; |
|
||||
specialArgs = { inherit inputs outputs; }; |
|
||||
}; |
|
||||
# ... |
|
||||
}; |
|
||||
|
|
||||
homeConfigurations = { |
|
||||
"hblobner@devvie" = lib.homeManagerConfiguration { |
|
||||
modules = [ ./users/hblober_at_devvie.nix ]; |
|
||||
pkgs = pkgsFor.x86_64-linux; |
|
||||
extraSpecialArgs = { inherit inputs outputs; }; |
|
||||
}; |
|
||||
}; |
|
||||
}; |
|
||||
} |
|
||||
@ -0,0 +1,33 @@ |
|||||
|
{ config, pkgs, ... }: |
||||
|
|
||||
|
{ |
||||
|
# Home Manager needs a bit of information about you and the |
||||
|
# paths it should manage. |
||||
|
home.username = "hblobner"; |
||||
|
home.homeDirectory = "/home/hblobner"; |
||||
|
|
||||
|
# Packages that should be installed to the user profile. |
||||
|
home.packages = [ |
||||
|
pkgs.htop |
||||
|
pkgs.fortune |
||||
|
]; |
||||
|
|
||||
|
# This value determines the Home Manager release that your |
||||
|
# configuration is compatible with. This helps avoid breakage |
||||
|
# when a new Home Manager release introduces backwards |
||||
|
# incompatible changes. |
||||
|
# |
||||
|
# You can update Home Manager without changing this value. See |
||||
|
# the Home Manager release notes for a list of state version |
||||
|
# changes in each release. |
||||
|
home.stateVersion = "23.05"; |
||||
|
|
||||
|
# Let Home Manager install and manage itself. |
||||
|
programs.home-manager.enable = true; |
||||
|
|
||||
|
services.gpg-agent = { |
||||
|
enable = true; |
||||
|
defaultCacheTtl = 1800; |
||||
|
enableSshSupport = true; |
||||
|
}; |
||||
|
} |
||||
@ -1,6 +0,0 @@ |
|||||
{ pkgs ? import <nixpkgs> { } }: rec { |
|
||||
|
|
||||
# Packages with an actual source |
|
||||
speedtestpp = pkgs.callPackage ./speedtestpp { }; |
|
||||
} |
|
||||
|
|
||||
@ -1,23 +0,0 @@ |
|||||
{ stdenv, lib, fetchFromGitHub, cmake, curl, openssl, libxml2 }: |
|
||||
stdenv.mkDerivation rec { |
|
||||
pname = "speedtestpp"; |
|
||||
version = "2021-08-29"; |
|
||||
src = fetchFromGitHub { |
|
||||
owner = "taganaka"; |
|
||||
repo = "speedtest"; |
|
||||
rev = "0f63cfbf7ce8d64ea803bf143b957eae76323405"; |
|
||||
sha256 = "sha256-rGY0kK2OCZl+229/JERf2ghBSdvAedhVuL4SrVzYFmU="; |
|
||||
}; |
|
||||
nativeBuildInputs = [ cmake curl openssl libxml2 ]; |
|
||||
postInstall = '' |
|
||||
ln -s $out/bin/SpeedTest $out/bin/speedtestpp |
|
||||
''; |
|
||||
|
|
||||
meta = with lib; { |
|
||||
description = "Unofficial speedtest.net cli using raw TCP for better accuracy"; |
|
||||
homepage = "https://github.com/taganaka/SpeedTest"; |
|
||||
license = licenses.mit; |
|
||||
platforms = platforms.linux; |
|
||||
}; |
|
||||
} |
|
||||
|
|
||||
@ -1,6 +0,0 @@ |
|||||
{ |
|
||||
programs.bat = { |
|
||||
enable = true; |
|
||||
config.theme = "base16"; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,36 +0,0 @@ |
|||||
{ pkgs, ... }: { |
|
||||
imports = [ |
|
||||
./bat.nix |
|
||||
./direnv.nix |
|
||||
./gh.nix |
|
||||
./git.nix |
|
||||
./gpg.nix |
|
||||
./nix-index.nix |
|
||||
./pfetch.nix |
|
||||
./ranger.nix |
|
||||
./screen.nix |
|
||||
./shellcolor.nix |
|
||||
./ssh.nix |
|
||||
./starship.nix |
|
||||
]; |
|
||||
home.packages = with pkgs; [ |
|
||||
comma # Install and run programs by sticking a , before them |
|
||||
distrobox # Nice escape hatch, integrates docker images with my environment |
|
||||
|
|
||||
bc # Calculator |
|
||||
bottom # System viewer |
|
||||
ncdu # TUI disk usage |
|
||||
exa # Better ls |
|
||||
ripgrep # Better grep |
|
||||
fd # Better find |
|
||||
httpie # Better curl |
|
||||
diffsitter # Better diff |
|
||||
jq # JSON pretty printer and manipulator |
|
||||
trekscii # Cute startrek cli printer |
|
||||
|
|
||||
nil # Nix LSP |
|
||||
nixfmt # Nix formatter |
|
||||
|
|
||||
ltex-ls # Spell checking LSP |
|
||||
]; |
|
||||
} |
|
||||
@ -1,6 +0,0 @@ |
|||||
{ |
|
||||
programs.direnv = { |
|
||||
enable = true; |
|
||||
nix-direnv.enable = true; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,14 +0,0 @@ |
|||||
{ pkgs, ... }: |
|
||||
{ |
|
||||
programs.gh = { |
|
||||
enable = true; |
|
||||
extensions = with pkgs; [ gh-markdown-preview ]; |
|
||||
settings = { |
|
||||
git_protocol = "ssh"; |
|
||||
prompt = "enabled"; |
|
||||
}; |
|
||||
}; |
|
||||
home.persistence = { |
|
||||
"/persist/home/${config.home.username}".directories = [ ".config/gh" ]; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,51 +0,0 @@ |
|||||
{ pkgs, lib, config, ... }: |
|
||||
let |
|
||||
ssh = "${pkgs.openssh}/bin/ssh"; |
|
||||
|
|
||||
git-m7 = pkgs.writeShellScriptBin "git-m7" '' |
|
||||
repo="$(git remote -v | grep git@m7.rs | head -1 | cut -d ':' -f2 | cut -d ' ' -f1)" |
|
||||
# Add a .git suffix if it's missing |
|
||||
if [[ "$repo" != *".git" ]]; then |
|
||||
repo="$repo.git" |
|
||||
fi |
|
||||
|
|
||||
if [ "$1" == "init" ]; then |
|
||||
if [ "$2" == "" ]; then |
|
||||
echo "You must specify a name for the repo" |
|
||||
exit 1 |
|
||||
fi |
|
||||
${ssh} -A git@m7.rs << EOF |
|
||||
git init --bare "$2.git" |
|
||||
git -C "$2.git" branch -m main |
|
||||
EOF |
|
||||
git remote add origin git@m7.rs:"$2.git" |
|
||||
elif [ "$1" == "ls" ]; then |
|
||||
${ssh} -A git@m7.rs ls |
|
||||
else |
|
||||
${ssh} -A git@m7.rs git -C "/srv/git/$repo" $@ |
|
||||
fi |
|
||||
''; |
|
||||
in |
|
||||
{ |
|
||||
home.packages = [ git-m7 ]; |
|
||||
programs.git = { |
|
||||
enable = true; |
|
||||
package = pkgs.gitAndTools.gitFull; |
|
||||
aliases = { |
|
||||
pushall = "!git remote | xargs -L1 git push --all"; |
|
||||
graph = "log --decorate --oneline --graph"; |
|
||||
add-nowhitespace = "!git diff -U0 -w --no-color | git apply --cached --ignore-whitespace --unidiff-zero -"; |
|
||||
}; |
|
||||
userName = "Gabriel Fontes"; |
|
||||
userEmail = "hi@m7.rs"; |
|
||||
extraConfig = { |
|
||||
feature.manyFiles = true; |
|
||||
init.defaultBranch = "main"; |
|
||||
user.signing.key = "CE707A2C17FAAC97907FF8EF2E54EA7BFE630916"; |
|
||||
commit.gpgSign = true; |
|
||||
gpg.program = "${config.programs.gpg.package}/bin/gpg2"; |
|
||||
}; |
|
||||
lfs.enable = true; |
|
||||
ignores = [ ".direnv" "result" ]; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,10 +0,0 @@ |
|||||
{ pkgs, ... }: |
|
||||
|
|
||||
let |
|
||||
ssh = "${pkgs.openssh}/bin/ssh"; |
|
||||
gpg-connect-agent = "${pkgs.gnupg}/bin/gpg-connect-agent"; |
|
||||
in |
|
||||
{ |
|
||||
isUnlocked = "${pkgs.procps}/bin/pgrep 'gpg-agent' &> /dev/null && ${gpg-connect-agent} 'scd getinfo card_list' /bye | ${pkgs.gnugrep}/bin/grep SERIALNO -q"; |
|
||||
unlock = "${ssh} -T localhost -o StrictHostKeyChecking=no exit"; |
|
||||
} |
|
||||
@ -1,66 +0,0 @@ |
|||||
{ pkgs, config, lib, ... }: |
|
||||
let |
|
||||
pinentry = |
|
||||
if config.gtk.enable then { |
|
||||
packages = [ pkgs.pinentry-gnome pkgs.gcr ]; |
|
||||
name = "gnome3"; |
|
||||
} else { |
|
||||
packages = [ pkgs.pinentry-curses ]; |
|
||||
name = "curses"; |
|
||||
}; |
|
||||
in |
|
||||
{ |
|
||||
home.packages = pinentry.packages; |
|
||||
|
|
||||
services.gpg-agent = { |
|
||||
enable = true; |
|
||||
enableSshSupport = true; |
|
||||
sshKeys = [ "149F16412997785363112F3DBD713BC91D51B831" ]; |
|
||||
pinentryFlavor = pinentry.name; |
|
||||
enableExtraSocket = true; |
|
||||
}; |
|
||||
|
|
||||
programs = |
|
||||
let |
|
||||
fixGpg = '' |
|
||||
gpgconf --launch gpg-agent |
|
||||
''; |
|
||||
in |
|
||||
{ |
|
||||
# Start gpg-agent if it's not running or tunneled in |
|
||||
# SSH does not start it automatically, so this is needed to avoid having to use a gpg command at startup |
|
||||
# https://www.gnupg.org/faq/whats-new-in-2.1.html#autostart |
|
||||
bash.profileExtra = fixGpg; |
|
||||
fish.loginShellInit = fixGpg; |
|
||||
zsh.loginExtra = fixGpg; |
|
||||
|
|
||||
gpg = { |
|
||||
enable = true; |
|
||||
settings = { |
|
||||
trust-model = "tofu+pgp"; |
|
||||
}; |
|
||||
publicKeys = [{ |
|
||||
source = ../../pgp.asc; |
|
||||
trust = 5; |
|
||||
}]; |
|
||||
}; |
|
||||
}; |
|
||||
|
|
||||
systemd.user.services = { |
|
||||
# Link /run/user/$UID/gnupg to ~/.gnupg-sockets |
|
||||
# So that SSH config does not have to know the UID |
|
||||
link-gnupg-sockets = { |
|
||||
Unit = { |
|
||||
Description = "link gnupg sockets from /run to /home"; |
|
||||
}; |
|
||||
Service = { |
|
||||
Type = "oneshot"; |
|
||||
ExecStart = "${pkgs.coreutils}/bin/ln -Tfs /run/user/%U/gnupg %h/.gnupg-sockets"; |
|
||||
ExecStop = "${pkgs.coreutils}/bin/rm $HOME/.gnupg-sockets"; |
|
||||
RemainAfterExit = true; |
|
||||
}; |
|
||||
Install.WantedBy = [ "default.target" ]; |
|
||||
}; |
|
||||
}; |
|
||||
} |
|
||||
# vim: filetype=nix |
|
||||
@ -1,35 +0,0 @@ |
|||||
{ pkgs, ... }: |
|
||||
let |
|
||||
update-script = pkgs.writeShellApplication { |
|
||||
name = "fetch-nix-index-database"; |
|
||||
runtimeInputs = with pkgs; [ wget coreutils ]; |
|
||||
text = '' |
|
||||
filename="index-x86_64-linux" |
|
||||
mkdir -p ~/.cache/nix-index |
|
||||
cd ~/.cache/nix-index |
|
||||
wget -N "https://github.com/Mic92/nix-index-database/releases/latest/download/$filename" |
|
||||
ln -f "$filename" files |
|
||||
''; |
|
||||
}; |
|
||||
in |
|
||||
{ |
|
||||
programs.nix-index.enable = true; |
|
||||
|
|
||||
systemd.user.services.nix-index-database-sync = { |
|
||||
Unit = { Description = "fetch mic92/nix-index-database"; }; |
|
||||
Service = { |
|
||||
Type = "oneshot"; |
|
||||
ExecStart = "${update-script}/bin/fetch-nix-index-database"; |
|
||||
Restart = "on-failure"; |
|
||||
RestartSec = "5m"; |
|
||||
}; |
|
||||
}; |
|
||||
systemd.user.timers.nix-index-database-sync = { |
|
||||
Unit = { Description = "Automatic github:mic92/nix-index-database fetching"; }; |
|
||||
Timer = { |
|
||||
OnBootSec = "10m"; |
|
||||
OnUnitActiveSec = "24h"; |
|
||||
}; |
|
||||
Install = { WantedBy = [ "timers.target" ]; }; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,8 +0,0 @@ |
|||||
{ pkgs, ... }: |
|
||||
{ |
|
||||
home = { |
|
||||
packages = with pkgs; [ pfetch ]; |
|
||||
sessionVariables.PF_INFO = |
|
||||
"ascii title os kernel uptime shell term desktop scheme palette"; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,3 +0,0 @@ |
|||||
{ pkgs, ... }: { |
|
||||
home.packages = with pkgs; [ ranger ]; |
|
||||
} |
|
||||
@ -1,8 +0,0 @@ |
|||||
{ pkgs, ... }: { |
|
||||
home.packages = [ pkgs.screen ]; |
|
||||
home.file.".screenrc".text = '' |
|
||||
startup_message off |
|
||||
defbce on |
|
||||
setenv TERM xterm-256color |
|
||||
''; |
|
||||
} |
|
||||
@ -1,25 +0,0 @@ |
|||||
{ config, ... }: |
|
||||
let inherit (config.colorscheme) colors; |
|
||||
in { |
|
||||
programs.shellcolor = { |
|
||||
enable = true; |
|
||||
settings = { |
|
||||
base00 = "${colors.base00}"; |
|
||||
base01 = "${colors.base01}"; |
|
||||
base02 = "${colors.base02}"; |
|
||||
base03 = "${colors.base03}"; |
|
||||
base04 = "${colors.base04}"; |
|
||||
base05 = "${colors.base05}"; |
|
||||
base06 = "${colors.base06}"; |
|
||||
base07 = "${colors.base07}"; |
|
||||
base08 = "${colors.base08}"; |
|
||||
base09 = "${colors.base09}"; |
|
||||
base0A = "${colors.base0A}"; |
|
||||
base0B = "${colors.base0B}"; |
|
||||
base0C = "${colors.base0C}"; |
|
||||
base0D = "${colors.base0D}"; |
|
||||
base0E = "${colors.base0E}"; |
|
||||
base0F = "${colors.base0F}"; |
|
||||
}; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,27 +0,0 @@ |
|||||
{ outputs, lib, ... }: |
|
||||
let |
|
||||
hostnames = builtins.attrNames outputs.nixosConfigurations; |
|
||||
in |
|
||||
{ |
|
||||
programs.ssh = { |
|
||||
enable = true; |
|
||||
matchBlocks = { |
|
||||
net = { |
|
||||
host = builtins.concatStringsSep " " hostnames; |
|
||||
forwardAgent = true; |
|
||||
remoteForwards = [{ |
|
||||
bind.address = ''/%d/.gnupg-sockets/S.gpg-agent''; |
|
||||
host.address = ''/%d/.gnupg-sockets/S.gpg-agent.extra''; |
|
||||
}]; |
|
||||
}; |
|
||||
trusted = lib.hm.dag.entryBefore [ "net" ] { |
|
||||
host = "m7.rs *.m7.rs *.ts.m7.rs"; |
|
||||
forwardAgent = true; |
|
||||
}; |
|
||||
}; |
|
||||
}; |
|
||||
|
|
||||
home.persistence = { |
|
||||
"/persist/home/${config.home.username}".directories = [ ".ssh" ]; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,133 +0,0 @@ |
|||||
{ pkgs, ... }: |
|
||||
let |
|
||||
nix-inspect = pkgs.writeShellScriptBin "nix-inspect" '' |
|
||||
read -ra EXCLUDED <<< "$@" |
|
||||
EXCLUDED+=(''${NIX_INSPECT_EXCLUDE[@]:-}) |
|
||||
|
|
||||
IFS=":" read -ra PATHS <<< "$PATH" |
|
||||
|
|
||||
read -ra PROGRAMS <<< \ |
|
||||
"$(printf "%s\n" "''${PATHS[@]}" | ${pkgs.gnugrep}/bin/grep "\/nix\/store" | ${pkgs.gnugrep}/bin/grep -v "\-man" | ${pkgs.perl}/bin/perl -pe 's/^\/nix\/store\/\w{32}-([^\/]*)\/bin$/\1/' | ${pkgs.findutils}/bin/xargs)" |
|
||||
|
|
||||
for to_remove in "''${EXCLUDED[@]}"; do |
|
||||
to_remove_full="$(printf "%s\n" "''${PROGRAMS[@]}" | grep "$to_remove" )" |
|
||||
PROGRAMS=("''${PROGRAMS[@]/$to_remove_full}") |
|
||||
done |
|
||||
|
|
||||
read -ra PROGRAMS <<< "''${PROGRAMS[@]}" |
|
||||
echo "''${PROGRAMS[@]}" |
|
||||
''; |
|
||||
in |
|
||||
{ |
|
||||
programs.starship = { |
|
||||
enable = true; |
|
||||
settings = { |
|
||||
format = |
|
||||
let |
|
||||
git = "$git_branch$git_commit$git_state$git_status"; |
|
||||
cloud = "$aws$gcloud$openstack"; |
|
||||
in |
|
||||
'' |
|
||||
$username$hostname($shlvl)($cmd_duration) $fill ($nix_shell)$custom |
|
||||
$directory(${git})(- ${cloud}) $fill $time |
|
||||
$jobs$character |
|
||||
''; |
|
||||
|
|
||||
fill = { |
|
||||
symbol = " "; |
|
||||
disabled = false; |
|
||||
}; |
|
||||
|
|
||||
# Core |
|
||||
username = { |
|
||||
format = "[$user]($style)"; |
|
||||
show_always = true; |
|
||||
}; |
|
||||
hostname = { |
|
||||
format = "[@$hostname]($style) "; |
|
||||
ssh_only = false; |
|
||||
style = "bold green"; |
|
||||
}; |
|
||||
shlvl = { |
|
||||
format = "[$shlvl]($style) "; |
|
||||
style = "bold cyan"; |
|
||||
threshold = 2; |
|
||||
repeat = true; |
|
||||
disabled = false; |
|
||||
}; |
|
||||
cmd_duration = { |
|
||||
format = "took [$duration]($style) "; |
|
||||
}; |
|
||||
|
|
||||
directory = { |
|
||||
format = "[$path]($style)( [$read_only]($read_only_style)) "; |
|
||||
}; |
|
||||
nix_shell = { |
|
||||
format = "[($name \\(develop\\) <- )$symbol]($style) "; |
|
||||
impure_msg = ""; |
|
||||
symbol = " "; |
|
||||
style = "bold red"; |
|
||||
}; |
|
||||
custom = { |
|
||||
nix_inspect = { |
|
||||
disabled = false; |
|
||||
when = "test -z $IN_NIX_SHELL"; |
|
||||
command = "${nix-inspect}/bin/nix-inspect kitty imagemagick ncurses user-environment"; |
|
||||
format = "[($output <- )$symbol]($style) "; |
|
||||
symbol = " "; |
|
||||
style = "bold blue"; |
|
||||
}; |
|
||||
}; |
|
||||
|
|
||||
character = { |
|
||||
error_symbol = "[~~>](bold red)"; |
|
||||
success_symbol = "[->>](bold green)"; |
|
||||
vimcmd_symbol = "[<<-](bold yellow)"; |
|
||||
vimcmd_visual_symbol = "[<<-](bold cyan)"; |
|
||||
vimcmd_replace_symbol = "[<<-](bold purple)"; |
|
||||
vimcmd_replace_one_symbol = "[<<-](bold purple)"; |
|
||||
}; |
|
||||
|
|
||||
time = { |
|
||||
format = "\\\[[$time]($style)\\\]"; |
|
||||
disabled = false; |
|
||||
}; |
|
||||
|
|
||||
# Cloud |
|
||||
gcloud = { |
|
||||
format = "on [$symbol$active(/$project)(\\($region\\))]($style)"; |
|
||||
}; |
|
||||
aws = { |
|
||||
format = "on [$symbol$profile(\\($region\\))]($style)"; |
|
||||
}; |
|
||||
|
|
||||
# Icon changes only \/ |
|
||||
aws.symbol = " "; |
|
||||
conda.symbol = " "; |
|
||||
dart.symbol = " "; |
|
||||
directory.read_only = " "; |
|
||||
docker_context.symbol = " "; |
|
||||
elixir.symbol = " "; |
|
||||
elm.symbol = " "; |
|
||||
gcloud.symbol = " "; |
|
||||
git_branch.symbol = " "; |
|
||||
golang.symbol = " "; |
|
||||
hg_branch.symbol = " "; |
|
||||
java.symbol = " "; |
|
||||
julia.symbol = " "; |
|
||||
memory_usage.symbol = " "; |
|
||||
nim.symbol = " "; |
|
||||
nodejs.symbol = " "; |
|
||||
package.symbol = " "; |
|
||||
perl.symbol = " "; |
|
||||
php.symbol = " "; |
|
||||
python.symbol = " "; |
|
||||
ruby.symbol = " "; |
|
||||
rust.symbol = " "; |
|
||||
scala.symbol = " "; |
|
||||
shlvl.symbol = ""; |
|
||||
swift.symbol = " "; |
|
||||
terraform.symbol = ""; |
|
||||
}; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,17 +0,0 @@ |
|||||
{ pkgs, config, ... }: { |
|
||||
programs.password-store = { |
|
||||
enable = true; |
|
||||
settings = { PASSWORD_STORE_DIR = "$HOME/.password-store"; }; |
|
||||
package = pkgs.pass.withExtensions (p: [ p.pass-otp ]); |
|
||||
}; |
|
||||
|
|
||||
services.pass-secret-service = { |
|
||||
enable = true; |
|
||||
storePath = "${config.home.homeDirectory}/.password-store"; |
|
||||
extraArgs = [ "-e${config.programs.password-store.package}/bin/pass" ]; |
|
||||
}; |
|
||||
|
|
||||
home.persistence = { |
|
||||
"/persist/home/misterio".directories = [ ".password-store" ]; |
|
||||
}; |
|
||||
} |
|
||||
@ -1,6 +0,0 @@ |
|||||
{ |
|
||||
imports = [ |
|
||||
# Pass feature is required |
|
||||
../pass |
|
||||
]; |
|
||||
} |
|
||||
@ -1,58 +0,0 @@ |
|||||
{ inputs, lib, pkgs, config, outputs, ... }: |
|
||||
let |
|
||||
inherit (inputs.nix-colors) colorSchemes; |
|
||||
inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) colorschemeFromPicture nixWallpaperFromScheme; |
|
||||
in |
|
||||
{ |
|
||||
imports = [ |
|
||||
inputs.impermanence.nixosModules.home-manager.impermanence |
|
||||
inputs.nix-colors.homeManagerModule |
|
||||
../features/cli |
|
||||
../features/nvim |
|
||||
../features/helix |
|
||||
] ++ (builtins.attrValues outputs.homeManagerModules); |
|
||||
|
|
||||
nixpkgs = { |
|
||||
overlays = builtins.attrValues outputs.overlays; |
|
||||
config = { |
|
||||
allowUnfree = true; |
|
||||
allowUnfreePredicate = (_: true); |
|
||||
}; |
|
||||
}; |
|
||||
|
|
||||
nix = { |
|
||||
package = lib.mkDefault pkgs.nix; |
|
||||
settings = { |
|
||||
experimental-features = [ "nix-command" "flakes" "repl-flake" ]; |
|
||||
warn-dirty = false; |
|
||||
}; |
|
||||
}; |
|
||||
|
|
||||
programs = { |
|
||||
home-manager.enable = true; |
|
||||
git.enable = true; |
|
||||
}; |
|
||||
|
|
||||
home = { |
|
||||
homeDirectory = lib.mkDefault "/home/${config.home.username}"; |
|
||||
stateVersion = lib.mkDefault "22.05"; |
|
||||
sessionPath = [ "$HOME/.local/bin" ]; |
|
||||
|
|
||||
persistence = { |
|
||||
"/persist/home/${config.home.username}" = { |
|
||||
directories = [ |
|
||||
"Documents" |
|
||||
"Downloads" |
|
||||
"Pictures" |
|
||||
"Videos" |
|
||||
".local/bin" |
|
||||
]; |
|
||||
allowOther = true; |
|
||||
}; |
|
||||
}; |
|
||||
}; |
|
||||
|
|
||||
colorscheme = lib.mkDefault colorSchemes.dracula; |
|
||||
home.file.".colorscheme".text = config.colorscheme.slug; |
|
||||
} |
|
||||
|
|
||||
@ -1,14 +0,0 @@ |
|||||
{ inputs, ... }: { |
|
||||
imports = [ |
|
||||
./global |
|
||||
./features/cli |
|
||||
./features/productivity |
|
||||
./features/pass |
|
||||
]; |
|
||||
|
|
||||
home = { |
|
||||
username = lib.mkDefault "hblobner"; |
|
||||
}; |
|
||||
|
|
||||
colorscheme = inputs.nix-colors.colorSchemes.catppuccin-macchiato; |
|
||||
} |
|
||||
Loading…
Reference in new issue