lexi refactor das muss ich mir nochmal nuechtern anschauen

This commit is contained in:
xqtc 2024-10-06 00:26:22 +02:00
parent d5ef609f6f
commit 4b5034ef41
26 changed files with 280 additions and 212 deletions

View file

@ -8,7 +8,7 @@
inputs.sops-nix.nixosModules.sops
];
sops = {
sops = {
defaultSopsFile = ../secrets.yaml;
validateSopsFiles = false;

View file

@ -0,0 +1,11 @@
{inputs, ...}: {
perSystem = { system, ...}: {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
# The allowUnfreePredicate is due to home-manager#2942 (I haven't actually checked that it is necessary)
# https://github.com/nix-community/home-manager/issues/2942
config.allowUnfreePredicate = (_: true);
};
};
}

View file

@ -0,0 +1,21 @@
{ lib, flake-parts-lib, ... }:
let
inherit (lib)
mkOption
types
;
inherit (flake-parts-lib)
mkTransposedPerSystemModule
;
in
mkTransposedPerSystemModule {
name = "homeConfigurations";
option = mkOption {
type = types.raw;
default = { };
description = ''
home-manager configs
'';
};
file = ./hm-flake-part.nix;
}

28
flake-mods/hm.nix Normal file
View file

@ -0,0 +1,28 @@
{inputs, lib, ...}: {
imports = [
./hm-flake-part.nix
];
perSystem = { config, self', inputs', pkgs, system, ... }: let
# split system (e.g. x86_64-linux) into os and arch
splitSystem = lib.splitString "-" system;
os = builtins.elemAt splitSystem 0;
arch = builtins.elemAt splitSystem 1;
in {
legacyPackages.homeConfigurations.xqtc = inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
../home
inputs.nixvim.homeManagerModules.nixvim
inputs.sops-nix.homeManagerModules.sops
{ inherit os arch; }
];
extraSpecialArgs = {inherit inputs;};
};
# # this sounds stupid, but it's the only way to make home-manager consume a
# # flake output with the system in it, which *should* be the case because it
# # wants system-specific pkgs, but flake-parts (rightfully so!) complains
# # that this isn't a package, so we do this to make both happy.
# packages.homeConfigurations.type = "derivation";
};
}

11
flake-mods/nixosHosts.nix Normal file
View file

@ -0,0 +1,11 @@
{inputs, lib, ...}: {
flake = lib.genAttrs [
"asmodeus" "seraphim" "lilith" "lambda" "beleth"
] (name: inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
../hosts/x86_64-linux/${name}
];
specialArgs = {inherit inputs;};
});
}

View file

@ -164,6 +164,24 @@
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1727826117,
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
@ -558,6 +576,18 @@
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1727825735,
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
}
},
"nixpkgs-master": {
"locked": {
"lastModified": 1727111026,
@ -720,7 +750,7 @@
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"flake-parts": "flake-parts_2",
"git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
@ -816,6 +846,7 @@
"compose2nix": "compose2nix",
"dwl-source": "dwl-source",
"firefox-addons": "firefox-addons",
"flake-parts": "flake-parts",
"flake-utils": "flake-utils_3",
"home-manager": "home-manager",
"lix-module": "lix-module",

View file

@ -6,6 +6,7 @@
nixos-aarch64-widevine.url = "github:epetousis/nixos-aarch64-widevine";
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
apple-silicon.url = "github:tpwrules/nixos-apple-silicon";
flake-parts.url = "github:hercules-ci/flake-parts";
compose2nix = {
url = "github:aksiksi/compose2nix";
inputs.nixpkgs.follows = "nixpkgs";
@ -41,78 +42,14 @@
};
#inputs.agenix.url = "github:ryantm/agenix";
outputs = inputs @ {
self,
nixpkgs,
nixpkgs-master,
firefox-addons,
home-manager,
proxmox-nixos,
nixos-hardware,
nixvim,
nh,
lix-module,
dwl-source,
sops-nix,
...
}: let
lib = nixpkgs.lib;
util = (import ./overlays/util.nix {} {}).util;
system = "x86_64-linux";
in {
nixosConfigurations = {
"asmodeus" = lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
./hosts/x86_64-linux/asmodeus
];
specialArgs = {inherit inputs;};
};
"seraphim" = lib.nixosSystem {
system = "x86_64-linux";
modules = [./hosts/x86_64-linux/seraphim];
specialArgs = {inherit inputs;};
};
"lilith" = lib.nixosSystem {
system = "x86_64-linux";
modules = [./hosts/x86_64-linux/lilith];
specialArgs = {inherit inputs;};
};
"lambda" = lib.nixosSystem {
system = "x86_64-linux";
modules = [./hosts/x86_64-linux/lambda];
specialArgs = {inherit inputs;};
};
"beleth" = lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/x86_64-linux/beleth
proxmox-nixos.nixosModules.proxmox-ve
({
pkgs,
lib,
...
}: {
services.proxmox-ve.enable = false;
nixpkgs.overlays = [
proxmox-nixos.overlays.${system}
];
services.openssh.settings.AcceptEnv = lib.mkForce "GIT_PROTOCOL LANG LC_*";
})
];
specialArgs = {inherit inputs;};
};
"alastor" = lib.nixosSystem {
system = "aarch64-linux";
modules = [./hosts/aarch64-linux/alastor {nixpkgs.overlays = [inputs.nixos-aarch64-widevine.overlays.default];}];
specialArgs = {inherit inputs;};
};
outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
./flake-mods/hm.nix
./flake-mods/nixosHosts.nix
./flake-mods/allowUnfree.nix
];
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
perSystem = { config, self', inputs', pkgs, system, ... }: {};
flake = {};
};
formatter = {
x86_64-linux = inputs.nixpkgs.legacyPackages.x86_64-linux.alejandra;
aarch64-linux = inputs.nixpkgs.legacyPackages.aarch64-linux.alejandra;
};
};
}

View file

@ -1,8 +1,8 @@
#!/usr/bin/env bash
unicode=" "
unicode=" "
version="1.2.0"
_black=$(tput setaf 0)
red=$(tput setaf 1)
green=$(tput setaf 2)
@ -29,7 +29,7 @@ up=$(uptime | awk -F'( |,|:)+' '{
up=$(sed -e "s/ h/h/g" <<< ${up})
up=$(sed -e "s/ m/m/g" <<< ${up})
pkgs=$(nix-store --query --requisites /run/current-system | wc -l)
pkgs=$(nix-store --query --requisites /run/current-system 2>/dev/null | wc -l)
arch=$(nix-instantiate --eval -E 'builtins.currentSystem')
arch_sanitized=$(echo $arch | sed 's/^"//;s/"$//')
@ -39,7 +39,7 @@ fetch() {
# echo "${cyan}$(tput bold) / |/ (_)_ __/ __ \/ __/ ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) / / /\ \ / /_/ /\ \ ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) /_/|_/_//_\_"'\\'"____/___/ ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠞⠛⣦⠎⠁⠹⣆⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣄⣿⠀⠀⢸⠀⠀⢰⡏⢀⠿⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠁⠘⣿⡀⢀⣸⠀⡴⠋⠻⡏⠀⢘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
@ -93,7 +93,7 @@ fetch() {
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⠏⠙⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# if [[ $(($RANDOM % 2)) == 0 ]]; then
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠙⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠙⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⢺⣿⣿⡆⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⣾⢡⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣷⡦⠀⠀⠀⠀⢰⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠃⣠⣾⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀${normal}$(tput sgr0)"
@ -120,14 +120,14 @@ fetch() {
# echo "${cyan}$(tput bold)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) meow! ${normal}$(tput sgr0)"
# else
# echo "${cyan}$(tput bold) _ へ |、 ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) ૮ - ՛ ) つ(> < 7 ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) / ⁻ ៸ 、˜〵${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) 乀 (ˍ, ل じしˍ,)${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) _ へ |、 ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) ૮ - ՛ ) つ(> < 7 ${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) / ⁻ ៸ 、˜〵${normal}$(tput sgr0)"
# echo "${cyan}$(tput bold) 乀 (ˍ, ل じしˍ,)${normal}$(tput sgr0)"
echo ""
echo " ╭─────────────╮ "
echo "${red}${normal} user │ ${red}$(whoami)${normal}"
echo "${yellow}${normal} distro │ ${yellow}$(sed -nE "s@PRETTY_NAME=\"([^\"]*)\"@\1@p" /etc/os-release)${normal} "
echo "${yellow}${normal} distro │ ${yellow}$(sed -nE "s@PRETTY_NAME=\"([^\"]*)\"@\1@p" /etc/os-release 2>/dev/null || echo "MacOS")${normal} "
echo "${green}${normal} kernel │ ${green}$(uname -r)${normal} "
echo "${cyan}󱂬 ${normal} de/wm │ ${cyan}$XDG_CURRENT_DESKTOP${normal} "
echo "${blue}${normal} uptime │ ${blue}${up}${normal} "

View file

@ -3,6 +3,10 @@ vim.keymap.set("n", "<C-Right>", "<c-w>l")
vim.keymap.set("n", "<C-Left>", "<c-w>h")
vim.keymap.set("n", "<C-Up>", "<c-w>k")
vim.keymap.set("n", "<C-Down>", "<c-w>j")
vim.keymap.set("n", "<C-L>", "<c-w>l")
vim.keymap.set("n", "<C-H>", "<c-w>h")
vim.keymap.set("n", "<C-K>", "<c-w>k")
vim.keymap.set("n", "<C-J>", "<c-w>j")
-- Escape for exiting terminal mode
vim.keymap.set('t', '<Esc>', '<C-\\><C-n>')

View file

@ -7,9 +7,10 @@
}: {
imports = [
./modules
./system.nix
];
home.username = "xqtc";
home.homeDirectory = "/home/xqtc";
home.homeDirectory = if config.os == "linux" then "/home/xqtc" else "/Users/xqtc";
programs.wezterm = {
enable = true;
@ -18,7 +19,7 @@
programs.joshuto = {enable = true;};
dconf.enable = true;
dconf.enable = config.os == "linux";
services.easyeffects = lib.mkIf (pkgs.system == "x86_64-linux") {enable = true;};

View file

@ -22,6 +22,6 @@
./zoxide.nix
./sops.nix
./spotify-cli.nix
# ./ssh.nix
./ssh.nix
];
}

View file

@ -3,12 +3,13 @@
outputs,
config,
pkgs,
lib,
...
}:
with inputs; {
home.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
home.sessionVariables.DEFAULT_BROWSER = if (config.os == "linux") then "${pkgs.firefox}/bin/firefox" else "firefox";
programs.firefox = {
programs.firefox = lib.mkIf (config.os == "linux") {
enable = true;
package =
pkgs.firefox.override {cfg = {enableGnomeExtensions = true;};};

View file

@ -4,7 +4,7 @@
...
}: {
programs.foot = {
enable = true;
enable = config.os == "linux";
settings = {
main = {
font = "ComicShannsMono Nerd Font Mono:size=11";

View file

@ -2,6 +2,7 @@
config,
pkgs,
inputs,
lib,
...
}: {
dconf.settings = {
@ -52,7 +53,7 @@
'';
};
};
home.packages = with pkgs; [
home.packages = lib.optionals (config.os == "linux") (with pkgs; [
gnomeExtensions.user-themes
gnomeExtensions.blur-my-shell
gnomeExtensions.tray-icons-reloaded
@ -63,7 +64,7 @@
gnomeExtensions.burn-my-windows
gnomeExtensions.desktop-cube
catppuccin-cursors.mochaPink
];
]);
# home.pointerCursor = {
# gtk.enable = true;
# x11.enable = true;

View file

@ -2,131 +2,126 @@
config,
inputs,
pkgs,
lib,
...
}: let
flameshot = pkgs.flameshot.overrideDerivation (old: {NIX_CFLAGS_COMPILE = "-DUSE_WAYLAND_GRIM";});
x86pkgs =
if pkgs.system == "x86_64-linux"
then [
pkgs.steam
pkgs.heroic
pkgs.protonup-qt
pkgs.via
pkgs.telegram-desktop
pkgs.jetbrains.rust-rover
pkgs.tutanota-desktop
pkgs.bitwarden-desktop
pkgs.bottles
flameshot
pkgs.grim
# pkgs.ida-free
# pkgs.spotify
]
else [];
maxfetch = pkgs.writeScriptBin "maxfetch" (builtins.readFile ../config-files/maxfetch.sh);
startdwl = pkgs.writeScriptBin "startdwl" (builtins.readFile ../config-files/startdwl.sh);
in {
home.packages =
[
pkgs.yubioath-flutter
home.packages = (lib.optionals (config.os == "linux") (with pkgs; [
yubioath-flutter
steam
heroic
protonup-qt
via
telegram-desktop
jetbrains.rust-rover
tutanota-desktop
bitwarden-desktop
bottles
flameshot
grim
networkmanagerapplet
nextcloud-client
swaylock-effects
wdisplays
brightnessctl
pavucontrol
swayfx
sway-contrib.grimshot
libnotify
swww
strace
ltrace
ghidra
imhex
qmk-udev-rules
jellyfin-media-player
signal-desktop
# ida-free
# spotify
])) ++ (with pkgs; [
nh
pkgs.ncspot
ncspot
pkgs.wakatime-cli
wakatime-cli
pkgs.neofetch
# pkgs.uwufetch
maxfetch
startdwl
pkgs.btop
pkgs.iftop
pkgs.ranger
neofetch
# uwufetch
maxfetch
startdwl
btop
iftop
ranger
pkgs.cargo-mommy
pkgs.evcxr
cargo-mommy
pkgs.just
pkgs.fzf
just
fzf
pkgs.catppuccin-kde
catppuccin-kde
pkgs.typst
typst
pkgs.networkmanagerapplet
# marked as broken
# anki
pkgs.anki
freetube
pkgs.freetube
openvpn
pkgs.openvpn
moodle-dl
pkgs.moodle-dl
pkgs.nextcloud-client
obsidian
pkgs.obsidian
pkgs.swaylock-effects
pkgs.wdisplays
pkgs.prismlauncher
prismlauncher
pkgs.syncthingtray
# marked as broken
# syncthingtray
pkgs.brightnessctl
pkgs.pavucontrol
pkgs.rbw
rbw
pkgs.swayfx
pkgs.sway-contrib.grimshot
pkgs.libnotify
nodejs
pkgs.strace
pkgs.ltrace
# cabal
ghc
pkgs.nodejs
# marked as broken
# rizin
# (cutter.withPlugins (ps: with ps; [jsdec rz-ghidra sigdb]))
# pkgs.cabal
pkgs.ghc
pkgs.rizin
(pkgs.cutter.withPlugins (ps: with ps; [jsdec rz-ghidra sigdb]))
nerdfonts
ipafont
pkgs.imhex
pkgs.ghidra
vesktop
element-desktop
pkgs.nerdfonts
pkgs.ipafont
qbittorrent
nicotine-plus
pkgs.signal-desktop
pkgs.vesktop
pkgs.element-desktop
qmk
pkgs.qbittorrent
pkgs.nicotine-plus
neovide
pkgs.qmk
pkgs.qmk-udev-rules
xournalpp
zathura
pkgs.neovide
ripgrep
pkgs.xournalpp
pkgs.zathura
sayonara
# mpv
feishin
pkgs.ripgrep
nix-tree
pkgs.sayonara
pkgs.mpv
pkgs.jellyfin-media-player
pkgs.feishin
pkgs.nix-tree
pkgs.nixos-icons
pkgs.swww
]
++ x86pkgs;
nixos-icons
]);
}

View file

@ -20,7 +20,7 @@
clipboard.providers.wl-copy.enable = true;
options = {
opts = {
number = true; # Show line numbers
relativenumber = true; # Show relative line numbers
@ -47,22 +47,22 @@
wakatime.enable = true;
headlines.enable = true;
twilight.enable = true;
comment-nvim = {
comment = {
enable = true;
};
indent-blankline.enable = true;
lualine = {
enable = true;
disabledFiletypes.statusline = ["neo-tree"];
componentSeparators = {
left = "";
right = "";
};
sectionSeparators = {
left = "";
right = "";
};
settings = {
disabled_filetypes.statusline = ["neo-tree"];
component_separators = {
left = "";
right = "";
};
section_separators = {
left = "";
right = "";
};
sections = {
lualine_y = [
{
@ -153,9 +153,7 @@
# port = "31337";
# host = "127.0.0.1";
# };
};
server = {
settings = {
server.settings = {
inlayHints = {
closureStyle = "rust_analyzer";
};
@ -179,7 +177,7 @@
nushell.enable = true;
clangd.enable = true;
svelte.enable = true;
tsserver.enable = true;
ts-ls.enable = true;
java-language-server.enable = true;
hls.enable = true;
eslint.enable = true;
@ -194,7 +192,7 @@
typing.autoClosingAngleBrackets.enable = true;
};
};
nil_ls.enable = true;
nil-ls.enable = true;
};
};
dap = {
@ -210,12 +208,12 @@
treesitter = {
enable = true;
folding = true;
indent = true;
nixvimInjections = true;
settings = {
ensure_installed = "all";
# highlight.enable = true;
highlight.enable = true;
indent.enable = true;
};
};
treesitter-refactor = {
@ -269,6 +267,7 @@
};
};
telescope.enable = true;
web-devicons.enable = true; # required by telescope
telescope.extensions = {file-browser.enable = true;};
which-key.enable = true;
cmp-nvim-lsp.enable = true;
@ -285,7 +284,6 @@
enable = true;
theme = null;
iconsEnabled = true;
layout = [
{
type = "padding";

View file

@ -6,7 +6,7 @@
...
}: {
programs.rbw = {
enable = true;
enable = config.os == "linux";
settings = {
email = "xqtc@tutanota.com";
lock_timeout = 300;
@ -14,7 +14,7 @@
};
};
programs.rofi = {
enable = true;
enable = config.os == "linux";
package = pkgs.rofi-wayland;
plugins = [pkgs.rofi-rbw-wayland pkgs.rofi-power-menu];
extraConfig = {

View file

@ -5,7 +5,7 @@
...
}: {
programs = {
zsh.enable = true;
zsh.enable = if config.os == "linux" then true else false;
atuin = {
enable = true;
enableNushellIntegration = true;

View file

@ -10,7 +10,7 @@
age = {
sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
keyFile = "/home/xqtc/.config/sops/age/keys.txt";
keyFile = if (config.os == "linux") then "/home/xqtc/.config/sops/age/keys.txt" else "/Users/xqtc/.config/sops/age/keys.txt";
generateKey = true;
};
};

View file

@ -5,14 +5,14 @@
inputs,
...
}: {
services.spotifyd.enable = true;
services.spotifyd.enable = config.os == "linux";
services.spotifyd.settings.global = {
bitrate = 320;
username = "xqtc@tutanota.com";
password_cmd = "cat /etc/spotifyd_pw";
};
sops.secrets = {
sops.secrets = lib.mkIf (config.os == "linux") {
"spotify/password" = {
path = "/etc/spotifyd_pw";
};

View file

@ -5,16 +5,28 @@
pkgs,
...
}: {
sops.secrets = {
"private_keys/xqtc" = {
path = "/home/xqtc/.ssh/id_ed25519";
sops = {
# defaultSopsFile = ../secrets.yaml;
# validateSopsFiles = false;
#
# age = {
# sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
# keyFile = "/var/lib/sops/age/keys.txt";
# generateKey = true;
# };
secrets = {
"xqtc_private" = {
# path = if (pkgs.system == "aarch64-darwin") then "/Users/xqtc/.ssh/id_ed25519" else "/home/xqtc/.ssh/id_ed25519";
path = config.home.homeDirectory + "/.ssh/id_ed25519";
# owner = "xqtc";
mode = "600";
};
"public_keys/xqtc" = {
path = "/home/xqtc/.ssh/id_ed25519.pub";
"xqtc_public" = {
# path = if (pkgs.system == "aarch64-darwin") then "/Users/xqtc/.ssh/id_ed25519.pub" else "/home/xqtc/.ssh/id_ed25519.pub";
path = config.home.homeDirectory + "/.ssh/id_ed25519.pub";
# owner = "xqtc";
mode = "640";
};
};
};
}

View file

@ -6,7 +6,7 @@
...
}: {
wayland.windowManager.hyprland = {
enable = true;
enable = config.os == "linux";
package = pkgs.hyprland;
#xwayland.enable = true;
@ -20,7 +20,7 @@
lib.mkIf (pkgs.system == "x86_64-linux")
*/
{
enable = true;
enable = config.os == "linux";
settings = {
mainBar = {
layer = "top";
@ -113,7 +113,7 @@
};
services.mako = {
enable = true;
enable = config.os == "linux";
font = "ComicShannsMono Nerd Font Mono 15";
backgroundColor = "#1e1e2e";
textColor = "#cdd6f4";

10
home/system.nix Normal file
View file

@ -0,0 +1,10 @@
{lib, ...}: {
options.os = lib.mkOption {
type = lib.types.str;
default = "linux";
};
options.arch = lib.mkOption {
type = lib.types.str;
default = "x86_64";
};
}

View file

@ -27,6 +27,11 @@ beleth:
# fi
# @echo "Host arch needs to be 'x86_64-linux'! Aborting...";
beleth-non-nixos:
set -euxo pipefail
ssh {{beleth-user-host}} "cd nixos-config && git pull && nixos-rebuild --flake . switch && echo meow"
ssh {{beleth-user-host}} "cd && cd /var/www/cheats-rs/ && git pull && zola build && cd && sh build_website.sh";
website:
#!/usr/bin/env bash
set -euxo pipefail

1
result Symbolic link
View file

@ -0,0 +1 @@
/nix/store/7nlb2hg141qvsbychf5kd0pqb49yp579-home-manager-generation

1
tmp.txt Normal file
View file

@ -0,0 +1 @@
"signal-desktop" "vesktop" "element-desktop" "qbittorrent" "nicotine-plus" "qmk" "qmk-udev-rules" "neovide" "xournalpp" "zathura" "ripgrep" "sayonara" "mpv" "jellyfin-media-player" "feishin" "nix-tree" "nixos-icons"