staging(no atomic commits thank to git-hooks)
Signed-off-by: s0me1newithhand7s <git+me@hand7s.org>
This commit is contained in:
parent
db3b60a846
commit
c5f949506a
117 changed files with 2520 additions and 999 deletions
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
services = {
|
||||
firewalld = {
|
||||
enable = true;
|
||||
|
|
|
|||
803
flake.lock
generated
803
flake.lock
generated
File diff suppressed because it is too large
Load diff
331
flake.nix
331
flake.nix
|
|
@ -29,6 +29,13 @@
|
|||
repo = "ayugram-desktop";
|
||||
};
|
||||
|
||||
"cachix" = {
|
||||
flake = true;
|
||||
type = "github";
|
||||
owner = "cachix";
|
||||
repo = "cachix";
|
||||
};
|
||||
|
||||
"chaotic" = {
|
||||
flake = true;
|
||||
type = "github";
|
||||
|
|
@ -51,13 +58,6 @@
|
|||
repo = "devenv";
|
||||
};
|
||||
|
||||
"devshell" = {
|
||||
flake = true;
|
||||
type = "github";
|
||||
owner = "numtide";
|
||||
repo = "devshell";
|
||||
};
|
||||
|
||||
"disko" = {
|
||||
flake = true;
|
||||
type = "github";
|
||||
|
|
@ -85,6 +85,13 @@
|
|||
repo = "freesmlauncher";
|
||||
};
|
||||
|
||||
"fenix" = {
|
||||
flake = true;
|
||||
type = "github";
|
||||
owner = "nix-community";
|
||||
repo = "fenix";
|
||||
};
|
||||
|
||||
"github-actions-nix" = {
|
||||
flake = true;
|
||||
type = "github";
|
||||
|
|
@ -367,7 +374,7 @@
|
|||
self
|
||||
;
|
||||
} {
|
||||
debug = false;
|
||||
debug = true;
|
||||
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
|
|
@ -376,49 +383,86 @@
|
|||
|
||||
imports = [
|
||||
# modules
|
||||
inputs.agenix-rekey.flakeModule
|
||||
inputs.disko.flakeModules.default
|
||||
inputs.devshell.flakeModule
|
||||
inputs.treefmt-nix.flakeModule
|
||||
inputs.home-manager.flakeModules.home-manager
|
||||
inputs.git-hooks-nix.flakeModule
|
||||
inputs.devenv.flakeModule
|
||||
# i can't really deside between devenv, devshells and devShells they are equally good for me
|
||||
# for now, at least, i'm using numtide/devshells
|
||||
inputs.github-actions-nix.flakeModule
|
||||
];
|
||||
|
||||
flake = {
|
||||
# home-manager, sorta broken when standalone
|
||||
homeConfigurations = {
|
||||
"hand7s" = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
extraSpecialArgs = {
|
||||
osConfig.networking.hostName = "";
|
||||
flake = let
|
||||
inherit
|
||||
(inputs."nixpkgs".lib)
|
||||
nixosSystem
|
||||
filesystem
|
||||
genAttrs
|
||||
map
|
||||
;
|
||||
|
||||
defaultModules = [];
|
||||
|
||||
defaultPath = filesystem.listFilesRecursive "${self}/kyra/";
|
||||
|
||||
inputedModules =
|
||||
map (
|
||||
{
|
||||
input,
|
||||
opt ? "default",
|
||||
}:
|
||||
inputs.${input}.nixosModules.${opt}
|
||||
) [
|
||||
{
|
||||
opt = "disko";
|
||||
input = "disko";
|
||||
}
|
||||
|
||||
{
|
||||
input = "home-manager";
|
||||
}
|
||||
|
||||
{
|
||||
opt = "sops";
|
||||
input = "sops-nix";
|
||||
}
|
||||
|
||||
{
|
||||
opt = "nix-index";
|
||||
input = "nix-index-database";
|
||||
}
|
||||
|
||||
{
|
||||
opt = "nix-mineral";
|
||||
input = "nix-mineral";
|
||||
}
|
||||
];
|
||||
|
||||
kyraHost = name:
|
||||
nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = defaultModules ++ defaultPath ++ inputedModules;
|
||||
specialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
name
|
||||
self
|
||||
;
|
||||
};
|
||||
|
||||
modules = [
|
||||
"${self}/hand7s/standalone.nix"
|
||||
inputs.spicetify-nix.homeManagerModules.default
|
||||
inputs.hyprland.homeManagerModules.default
|
||||
inputs.chaotic.homeManagerModules.default
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
|
||||
inputs.nix-index-database.homeModules.nix-index
|
||||
inputs.noctalia.homeModules.default
|
||||
inputs.stylix.homeModules.stylix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# nixos hosts
|
||||
|
||||
# my PC
|
||||
nixosConfigurations = {
|
||||
kyraStack =
|
||||
genAttrs [
|
||||
"hazel"
|
||||
"lynn"
|
||||
"yara"
|
||||
"ivy"
|
||||
"mel"
|
||||
]
|
||||
kyraHost;
|
||||
in {
|
||||
# Main PC
|
||||
nixosConfigurations =
|
||||
{
|
||||
"ada" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
|
|
@ -430,7 +474,6 @@
|
|||
|
||||
modules = [
|
||||
"${self}/ada/"
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.chaotic.nixosModules.default
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
|
|
@ -443,7 +486,7 @@
|
|||
];
|
||||
};
|
||||
|
||||
# my laptop
|
||||
# Main Laptop
|
||||
"isla" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
|
|
@ -455,7 +498,6 @@
|
|||
|
||||
modules = [
|
||||
"${self}/isla/"
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.chaotic.nixosModules.default
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
|
|
@ -468,108 +510,6 @@
|
|||
];
|
||||
};
|
||||
|
||||
# my VPSes:
|
||||
|
||||
# VPS 1
|
||||
"hazel" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
self
|
||||
;
|
||||
};
|
||||
|
||||
modules = [
|
||||
{
|
||||
networking.hostName = inputs.nixpkgs.lib.mkDefault "hazel";
|
||||
}
|
||||
|
||||
"${self}/kyra/"
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
inputs.nix-mineral.nixosModules.nix-mineral
|
||||
];
|
||||
};
|
||||
|
||||
# VPS 2
|
||||
"lynn" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
self
|
||||
;
|
||||
};
|
||||
|
||||
modules = [
|
||||
{
|
||||
networking.hostName = inputs.nixpkgs.lib.mkDefault "lynn";
|
||||
}
|
||||
|
||||
"${self}/kyra/"
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
inputs.nix-mineral.nixosModules.nix-mineral
|
||||
];
|
||||
};
|
||||
|
||||
# VPS 3
|
||||
"ivy" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
self
|
||||
;
|
||||
};
|
||||
|
||||
modules = [
|
||||
{
|
||||
networking.hostName = inputs.nixpkgs.lib.mkDefault "ivy";
|
||||
}
|
||||
|
||||
"${self}/kyra/"
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
inputs.nix-mineral.nixosModules.nix-mineral
|
||||
];
|
||||
};
|
||||
|
||||
# VPS 4
|
||||
"mel" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
self
|
||||
;
|
||||
};
|
||||
|
||||
modules = [
|
||||
{
|
||||
networking.hostName = inputs.nixpkgs.lib.mkDefault "mel";
|
||||
}
|
||||
|
||||
"${self}/kyra/"
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
inputs.nix-mineral.nixosModules.nix-mineral
|
||||
];
|
||||
};
|
||||
|
||||
# homelab
|
||||
"viola" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
|
|
@ -582,7 +522,6 @@
|
|||
|
||||
modules = [
|
||||
"${self}/viola"
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.chaotic.nixosModules.default
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
|
|
@ -606,7 +545,6 @@
|
|||
|
||||
modules = [
|
||||
"${self}/wanda/"
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.nixos-wsl.nixosModules.default
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.home-manager.nixosModules.default
|
||||
|
|
@ -616,6 +554,52 @@
|
|||
inputs.nix-mineral.nixosModules.nix-mineral
|
||||
];
|
||||
};
|
||||
|
||||
# custom ISO
|
||||
"florence" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
self
|
||||
;
|
||||
};
|
||||
|
||||
modules = [
|
||||
"${self}/florence/"
|
||||
];
|
||||
};
|
||||
}
|
||||
// kyraStack;
|
||||
# few words about kyraStack:
|
||||
# it's my little fleet, 5 identical VPSes
|
||||
# really nice that all of them are 2 vCPU 2GB
|
||||
# tho ssd/nvme/hdd memory is nothing important
|
||||
# and being KVM VPS / pure VPS too
|
||||
|
||||
# home-manager
|
||||
homeConfigurations = {
|
||||
"hand7s" = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
extraSpecialArgs = {
|
||||
osConfig.networking.hostName = "";
|
||||
inherit
|
||||
inputs
|
||||
self
|
||||
;
|
||||
};
|
||||
|
||||
modules = [
|
||||
"${self}/hand7s/standalone.nix"
|
||||
inputs.spicetify-nix.homeManagerModules.default
|
||||
inputs.hyprland.homeManagerModules.default
|
||||
inputs.chaotic.homeManagerModules.default
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
inputs.nix-index-database.homeModules.nix-index
|
||||
inputs.noctalia.homeModules.default
|
||||
inputs.stylix.homeModules.stylix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -630,7 +614,7 @@
|
|||
flakeCheck = true;
|
||||
|
||||
programs = {
|
||||
alejandra = {
|
||||
"alejandra" = {
|
||||
enable = true;
|
||||
priority = 1;
|
||||
includes = [
|
||||
|
|
@ -638,7 +622,7 @@
|
|||
];
|
||||
};
|
||||
|
||||
statix = {
|
||||
"statix" = {
|
||||
enable = true;
|
||||
priority = 1;
|
||||
includes = [
|
||||
|
|
@ -650,7 +634,7 @@
|
|||
];
|
||||
};
|
||||
|
||||
deadnix = {
|
||||
"deadnix" = {
|
||||
enable = true;
|
||||
priority = 1;
|
||||
includes = [
|
||||
|
|
@ -683,74 +667,47 @@
|
|||
gitPackage = pkgs.git;
|
||||
|
||||
hooks = {
|
||||
alejandra = {
|
||||
"alejandra" = {
|
||||
enable = true;
|
||||
settings = {
|
||||
verbosity = "quiet";
|
||||
check = true;
|
||||
};
|
||||
};
|
||||
|
||||
deadnix = {
|
||||
"deadnix" = {
|
||||
enable = true;
|
||||
settings = {
|
||||
edit = false;
|
||||
};
|
||||
};
|
||||
|
||||
statix = {
|
||||
"statix" = {
|
||||
enable = true;
|
||||
settings = {
|
||||
config = "${pkgs.writeText ''statix.toml'' ''
|
||||
disabled = [
|
||||
"empty_pattern"
|
||||
]
|
||||
''}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# numtide/devshells, basically a devShells but better
|
||||
devshells = {
|
||||
# cachix/devenv, basically a devShells, even better than numtide/devshells
|
||||
devenv = {
|
||||
shells = {
|
||||
"default" = {
|
||||
name = "default";
|
||||
enterShell = config.pre-commit.shellHook;
|
||||
|
||||
commands = [
|
||||
{
|
||||
name = "pre";
|
||||
category = "[tools]";
|
||||
command = "prek run -a";
|
||||
help = ''
|
||||
pre-commit-hook is a tool to execute linters / formatters before `git commit` to verify that code is meeting standarts of code setted up in projects;
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
name = "fmt";
|
||||
category = "[formatters]";
|
||||
command = "nix fmt";
|
||||
help = ''
|
||||
nix fmt is built-in formatting solution for nix pacakage manager;
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
devshell = {
|
||||
startup = {
|
||||
"git-hooks-nix" = {
|
||||
text = config.pre-commit.shellHook;
|
||||
};
|
||||
};
|
||||
devenv = {
|
||||
root = toString /home/hand7s/Projects/flake;
|
||||
};
|
||||
|
||||
packages = with pkgs;
|
||||
packages =
|
||||
[
|
||||
just
|
||||
pkgs.just
|
||||
config.treefmt.build.wrapper
|
||||
]
|
||||
++ config.pre-commit.settings.enabledPackages;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# synapdeck/github-actions-nix, declaretive gha
|
||||
githubActions = {
|
||||
|
|
|
|||
32
florence/default.nix
Normal file
32
florence/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{inputs, ...}: {
|
||||
imports = [
|
||||
"${inputs.nixpkgs}/nixos/modules/installer/netboot/netboot-minimal.nix"
|
||||
];
|
||||
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "yes";
|
||||
};
|
||||
};
|
||||
|
||||
system = {
|
||||
stateVersion = "25.05";
|
||||
};
|
||||
|
||||
users = {
|
||||
users = {
|
||||
"root" = {
|
||||
openssh = {
|
||||
authorizedKeys = {
|
||||
keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDp2IIdR5jV1HyG4aiRX7SfTNrXDhCx5rTiFU40qkOKq litvinovb0@gmail.com"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -5,11 +5,17 @@
|
|||
|
||||
"${self}/hand7s/wayland/hyprland.nix"
|
||||
|
||||
"${self}/hand7s/gtk/gtk.nix"
|
||||
"${self}/hand7s/gtk/gtk3.nix"
|
||||
"${self}/hand7s/gtk/gtk4.nix"
|
||||
|
||||
"${self}/hand7s/home/defaults.nix"
|
||||
"${self}/hand7s/home/gui.nix"
|
||||
"${self}/hand7s/home/keyboard.nix"
|
||||
"${self}/hand7s/home/packages.nix"
|
||||
"${self}/hand7s/home/shellAliases.nix"
|
||||
"${self}/hand7s/home/variables.nix"
|
||||
"${self}/hand7s/home/shell.nix"
|
||||
|
||||
"${self}/hand7s/nixpkgs/config.nix"
|
||||
"${self}/hand7s/nixpkgs/overlays.nix"
|
||||
|
|
@ -40,5 +46,15 @@
|
|||
"${self}/hand7s/programs/direnv.nix"
|
||||
"${self}/hand7s/programs/noctalia.nix"
|
||||
"${self}/hand7s/programs/iamb.nix"
|
||||
"${self}/hand7s/programs/nushell.nix"
|
||||
"${self}/hand7s/programs/carapace.nix"
|
||||
"${self}/hand7s/programs/broot.nix"
|
||||
"${self}/hand7s/programs/atuin.nix"
|
||||
"${self}/hand7s/programs/gitui.nix"
|
||||
|
||||
"${self}/hand7s/xdg/portal.nix"
|
||||
"${self}/hand7s/xdg/mime.nix"
|
||||
"${self}/hand7s/xdg/configFile.nix"
|
||||
"${self}/hand7s/xdg/terminal.nix"
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
_: {
|
||||
{pkgs, ...}: {
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
package = pkgs.morewaita-icon-theme;
|
||||
name = "MoreWaita";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
42
hand7s/gtk/gtk3.nix
Normal file
42
hand7s/gtk/gtk3.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
_: {
|
||||
gtk = {
|
||||
gtk3 = {
|
||||
extraCss = ''
|
||||
headerbar {
|
||||
background-color: mix(@base0D, @base02, 0.08);
|
||||
}
|
||||
|
||||
headerbar title {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
popover contents,
|
||||
.menu {
|
||||
background-color: mix(@base0D, @base02, 0.11);
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background-color: mix(@base0D, @base02, 0.14);
|
||||
}
|
||||
|
||||
button label {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: alpha(@base0D, 0.08);
|
||||
}
|
||||
|
||||
button:focus {
|
||||
background-color: alpha(@base0D, 0.12);
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: alpha(@base0D, 0.16);
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
37
hand7s/gtk/gtk4.nix
Normal file
37
hand7s/gtk/gtk4.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
_: {
|
||||
gtk = {
|
||||
gtk4 = {
|
||||
extraCss = ''
|
||||
headerbar {
|
||||
background-color: mix(@base0D, @base02, 0.08);
|
||||
}
|
||||
|
||||
headerbar title {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
popover contents {
|
||||
background-color: mix(@base0D, @base02, 0.11);
|
||||
}
|
||||
|
||||
button label {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: alpha(@base0D, 0.08);
|
||||
}
|
||||
|
||||
button:focus {
|
||||
background-color: alpha(@base0D, 0.12);
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: alpha(@base0D, 0.16);
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -7,16 +7,17 @@
|
|||
xh
|
||||
dua
|
||||
nvd
|
||||
tlrc
|
||||
dust
|
||||
sops
|
||||
rsync
|
||||
procs
|
||||
sshfs
|
||||
sbctl
|
||||
gping
|
||||
comma
|
||||
trippy
|
||||
bottom
|
||||
ragenix
|
||||
ripgrep
|
||||
kubectl
|
||||
gitoxide
|
||||
|
|
|
|||
7
hand7s/home/shell.nix
Normal file
7
hand7s/home/shell.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
_: {
|
||||
home = {
|
||||
shell = {
|
||||
enableShellIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
10
hand7s/home/variables.nix
Normal file
10
hand7s/home/variables.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
_: {
|
||||
home = {
|
||||
sessionVariables = {
|
||||
CARAPACE_BRIDGES = "fish";
|
||||
DIRENV_WARN_TIMEOUT = "5m";
|
||||
GTK_USE_PORTAL = "1";
|
||||
AQ_NO_MODIFIERS = "1";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -9,7 +9,6 @@ _: {
|
|||
# cachix.org
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
|
||||
"ags.cachix.org-1:naAvMrz0CuYqeyGNyLgE010iUiuf/qx6kYrUv3NwAJ8="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
_: {
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -6,8 +6,8 @@
|
|||
...
|
||||
}: let
|
||||
cfg = config.home.gui;
|
||||
ayugram = self.inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop;
|
||||
freesm-launcher = self.inputs.freesm.packages.${pkgs.system}.freesmlauncher;
|
||||
ayugram = self.inputs.ayugram-desktop.packages.${pkgs.stdenv.hostPlatform.system}.ayugram-desktop;
|
||||
freesm-launcher = self.inputs.freesm.packages.${pkgs.stdenv.hostPlatform.system}.freesmlauncher;
|
||||
in {
|
||||
options.home.gui = {
|
||||
enable = lib.mkEnableOption ''
|
||||
|
|
@ -45,7 +45,6 @@ in {
|
|||
vesktop
|
||||
ayugram
|
||||
anki-bin
|
||||
obsidian
|
||||
mindustry
|
||||
lan-mouse
|
||||
monero-gui
|
||||
|
|
@ -70,10 +69,10 @@ in {
|
|||
cfg.sessionType == "Hyprland"
|
||||
) [
|
||||
fum
|
||||
timg
|
||||
dconf
|
||||
iwgtk
|
||||
tokei
|
||||
gajim
|
||||
ifuse
|
||||
yt-dlp
|
||||
termusic
|
||||
|
|
@ -86,17 +85,21 @@ in {
|
|||
yubico-piv-tool
|
||||
yubikey-manager
|
||||
libimobiledevice
|
||||
ungoogled-chromium
|
||||
yubikey-touch-detector
|
||||
yubikey-personalization
|
||||
self.inputs.noctalia.packages.${system}.default
|
||||
];
|
||||
};
|
||||
|
||||
gtk.enable = true;
|
||||
|
||||
programs = {
|
||||
chromium.enable = true;
|
||||
spicetify.enable = true;
|
||||
ghostty.enable = true;
|
||||
git.enable = true;
|
||||
obsidian.enable = true;
|
||||
};
|
||||
|
||||
services = with lib.mkDefault; {
|
||||
|
|
|
|||
22
hand7s/programs/atuin.nix
Normal file
22
hand7s/programs/atuin.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
_: {
|
||||
programs = {
|
||||
atuin = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
settings = {
|
||||
keymap_mode = "vim-normal";
|
||||
};
|
||||
|
||||
flags = [
|
||||
"--disable-up-arrow"
|
||||
];
|
||||
|
||||
daemon = {
|
||||
enable = true;
|
||||
logLevel = "info";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
13
hand7s/programs/broot.nix
Normal file
13
hand7s/programs/broot.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
_: {
|
||||
programs = {
|
||||
broot = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
settings = {
|
||||
modal = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
9
hand7s/programs/carapace.nix
Normal file
9
hand7s/programs/carapace.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
_: {
|
||||
programs = {
|
||||
carapace = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -4,7 +4,6 @@
|
|||
package = pkgs.google-chrome.override {
|
||||
commandLineArgs = [
|
||||
"--enable-features=AcceleratedVideoEncoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE,VaapiIgnoreDriverChecks,VaapiVideoDecoder,PlatformHEVCDecoderSupport,UseMultiPlaneFormatForHardwareVideo,SkiaGraphite"
|
||||
"--enable-unsafe-webgpu"
|
||||
"--ignore-gpu-blocklist"
|
||||
"--enable-zero-copy"
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
direnv = {
|
||||
enable = true;
|
||||
silent = true;
|
||||
enableNushellIntegration = true;
|
||||
|
||||
nix-direnv = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
eza = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
git = true;
|
||||
icons = "always";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
fzf = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
tmux = {
|
||||
enableShellIntegration = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
bell-features = "system";
|
||||
|
||||
command = "${lib.getExe pkgs.fish}";
|
||||
command = "${lib.getExe pkgs.nushell}";
|
||||
|
||||
confirm-close-surface = false;
|
||||
|
||||
|
|
|
|||
26
hand7s/programs/gitui.nix
Normal file
26
hand7s/programs/gitui.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
_: {
|
||||
programs = {
|
||||
gitui = {
|
||||
enable = true;
|
||||
keyConfig = ''
|
||||
(
|
||||
move_left: Some(( code: Char('h'), modifiers: "" )),
|
||||
move_right: Some(( code: Char('l'), modifiers: "" )),
|
||||
move_up: Some(( code: Char('k'), modifiers: "" )),
|
||||
move_down: Some(( code: Char('j'), modifiers: "" )),
|
||||
|
||||
popup_up: Some(( code: Char('k'), modifiers: "" )),
|
||||
popup_down: Some(( code: Char('j'), modifiers: "" )),
|
||||
page_up: Some(( code: Char('b'), modifiers: "CONTROL" )),
|
||||
page_down: Some(( code: Char('f'), modifiers: "CONTROL" )),
|
||||
|
||||
stage_hunk: Some(( code: Char('x'), modifiers: "" )),
|
||||
status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT" )),
|
||||
|
||||
shift_up: Some(( code: Char('K'), modifiers: "SHIFT" )),
|
||||
shift_down: Some(( code: Char('J'), modifiers: "SHIFT" )),
|
||||
)
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -2,7 +2,15 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
formatter = {
|
||||
run = "treefmt";
|
||||
args = [
|
||||
"--stdin"
|
||||
"$f"
|
||||
];
|
||||
};
|
||||
in {
|
||||
programs = {
|
||||
helix = {
|
||||
package = pkgs.helix;
|
||||
|
|
@ -10,52 +18,133 @@
|
|||
defaultEditor = true;
|
||||
extraPackages = with pkgs; [
|
||||
nixd
|
||||
ruff
|
||||
vtsls
|
||||
rust-analyzer
|
||||
];
|
||||
|
||||
settings = {
|
||||
editor = {
|
||||
line-number = "relative";
|
||||
cursorline = true;
|
||||
auto-pairs = true;
|
||||
auto-save = {
|
||||
focus-lost = true;
|
||||
after-delay = {
|
||||
enable = true;
|
||||
timeout = 3000;
|
||||
};
|
||||
};
|
||||
|
||||
soft-wrap = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
inline-diagnostics = {
|
||||
cursor-line = "hint";
|
||||
};
|
||||
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
enable = true;
|
||||
display-progress-messages = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
|
||||
cursor-shape = {
|
||||
normal = "underline";
|
||||
insert = "block";
|
||||
select = "underline";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language-servers = {
|
||||
nixd = {
|
||||
"nixd" = {
|
||||
command = "${lib.getExe pkgs.nixd}";
|
||||
args = [
|
||||
"--inlay-hints=true"
|
||||
];
|
||||
};
|
||||
|
||||
"ruff" = {
|
||||
command = "${lib.getExe pkgs.ruff}";
|
||||
args = [
|
||||
"server"
|
||||
];
|
||||
};
|
||||
|
||||
language = [
|
||||
"vtsls" = {
|
||||
command = "${lib.getExe pkgs.vtsls}";
|
||||
args = [
|
||||
"--stdio"
|
||||
];
|
||||
};
|
||||
|
||||
"rust-lsp" = {
|
||||
command = "${lib.getExe pkgs.rust-analyzer}";
|
||||
};
|
||||
};
|
||||
|
||||
languages = [
|
||||
{
|
||||
name = "nix";
|
||||
comment-token = "#";
|
||||
injection-regex = "nix";
|
||||
indent = {
|
||||
tab-width = 4;
|
||||
unit = " ";
|
||||
};
|
||||
|
||||
formatter = {
|
||||
command = "${lib.getExe pkgs.nix}";
|
||||
args = [
|
||||
"fmt"
|
||||
];
|
||||
};
|
||||
|
||||
file-types = [
|
||||
"nix"
|
||||
];
|
||||
|
||||
auto-format = true;
|
||||
language-servers = [
|
||||
"nixd"
|
||||
];
|
||||
|
||||
inherit
|
||||
formatter
|
||||
;
|
||||
}
|
||||
|
||||
{
|
||||
name = "python";
|
||||
auto-format = true;
|
||||
language-servers = [
|
||||
"ruff"
|
||||
];
|
||||
|
||||
inherit
|
||||
formatter
|
||||
;
|
||||
}
|
||||
|
||||
{
|
||||
name = "rust";
|
||||
auto-format = true;
|
||||
language-servers = [
|
||||
"rust-lsp"
|
||||
];
|
||||
|
||||
inherit
|
||||
formatter
|
||||
;
|
||||
}
|
||||
|
||||
{
|
||||
name = "javascript";
|
||||
auto-format = true;
|
||||
language-servers = [
|
||||
"vtsls"
|
||||
];
|
||||
|
||||
inherit
|
||||
formatter
|
||||
;
|
||||
}
|
||||
|
||||
{
|
||||
name = "typescript";
|
||||
auto-format = true;
|
||||
language-servers = [
|
||||
"vtsls"
|
||||
];
|
||||
|
||||
inherit
|
||||
formatter
|
||||
;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
nix-index = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,9 +19,10 @@
|
|||
forceBlackScreenCorners = true;
|
||||
showScreenCorners = true;
|
||||
screenRadiusRatio = 1;
|
||||
radiusRatio = 0.7;
|
||||
radiusRatio = 1.5;
|
||||
enableBlurBehind = true;
|
||||
enableShadows = true;
|
||||
shadowDirection = "center";
|
||||
shadowDirection = "bottom_right";
|
||||
};
|
||||
|
||||
appLauncher = {
|
||||
|
|
@ -40,10 +41,12 @@
|
|||
};
|
||||
|
||||
bar = {
|
||||
floating = false;
|
||||
density = "default";
|
||||
floating = true;
|
||||
density = "comfortable";
|
||||
position = "right";
|
||||
showCapsule = false;
|
||||
showCapsule = true;
|
||||
contentPadding = 8;
|
||||
widgetSpacing = 10;
|
||||
marginVertical = 1;
|
||||
marginHorizontal = 0.6;
|
||||
monitors = [
|
||||
|
|
@ -119,7 +122,7 @@
|
|||
};
|
||||
|
||||
notifications = {
|
||||
location = "top_center";
|
||||
location = "top_right";
|
||||
};
|
||||
|
||||
controlCenter = {
|
||||
|
|
@ -147,6 +150,7 @@
|
|||
};
|
||||
|
||||
dock = {
|
||||
dockType = "static";
|
||||
displayMode = "auto_hide";
|
||||
floatingRatio = 1;
|
||||
onlySameOutput = true;
|
||||
|
|
@ -198,9 +202,9 @@
|
|||
};
|
||||
|
||||
ui = {
|
||||
fontDefault = lib.mkForce "Nerd Fonts Hack";
|
||||
fontDefault = lib.mkForce "Monaspace Aether Nerd Font";
|
||||
fontDefaultScale = 1;
|
||||
fontFixed = lib.mkForce "Nerd Fonts Hack";
|
||||
fontFixed = lib.mkForce "Roboto Mono Nerd Font";
|
||||
fontFixedScale = 1;
|
||||
idleInhibitorEnabled = false;
|
||||
tooltipsEnabled = true;
|
||||
|
|
|
|||
24
hand7s/programs/nushell.nix
Normal file
24
hand7s/programs/nushell.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
nushell = {
|
||||
enable = true;
|
||||
extraEnv = ''
|
||||
$env.EDITOR = "hx"
|
||||
'';
|
||||
|
||||
extraConfig = ''
|
||||
$env.config.show_banner = false
|
||||
|
||||
$env.config.buffer_editor = "hx"
|
||||
|
||||
def fish-run [cmd: string] {
|
||||
^${lib.getExe pkgs.fish} -c $cmd
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -6,13 +6,13 @@
|
|||
}: {
|
||||
programs = {
|
||||
spicetify = {
|
||||
enabledExtensions = with self.inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [
|
||||
enabledExtensions = with self.inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle
|
||||
];
|
||||
|
||||
theme = lib.mkForce self.inputs.spicetify-nix.legacyPackages.${pkgs.system}.themes.text;
|
||||
theme = lib.mkForce self.inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}.themes.text;
|
||||
colorScheme = lib.mkForce "TokyoNight";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,15 +3,17 @@ _: {
|
|||
starship = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
|
||||
settings = {
|
||||
add_newline = true;
|
||||
|
||||
format = ''
|
||||
[╭──╼](bold blue) $username at $hostname on $os
|
||||
[┆](bold blue) $directory$git_branch$git_commit$git_state$git_metrics$git_status
|
||||
[┆](bold blue) $directory$git_branch$git_commit$git_state$git_metrics$git_status$kubernetes$rust
|
||||
[╰─>](bold blue) '';
|
||||
|
||||
right_format = ''$cmd_duration ($character) at ❗$time'';
|
||||
right_format = ''$cmd_duration ($status) at ❗$time'';
|
||||
|
||||
os = {
|
||||
format = "[($name $codename$version$edition $symbol )]($style)";
|
||||
|
|
@ -33,9 +35,18 @@ _: {
|
|||
style_user = "bold green";
|
||||
};
|
||||
|
||||
character = {
|
||||
success_symbol = "[✓](bold green)";
|
||||
error_symbol = "[✗](bold red)";
|
||||
status = {
|
||||
disabled = false;
|
||||
format = "[$symbol]($style)";
|
||||
symbol = "✗";
|
||||
success_symbol = "✓";
|
||||
not_executable_symbol = "⃠🚫";
|
||||
not_found_symbol = "🔍";
|
||||
sigint_symbol = "[🛑](bold red)";
|
||||
signal_symbol = "[⚡](bold yellow)";
|
||||
|
||||
pipestatus = true;
|
||||
pipestatus_separator = "|";
|
||||
};
|
||||
|
||||
time = {
|
||||
|
|
@ -53,6 +64,14 @@ _: {
|
|||
show_notifications = false;
|
||||
format = "was [$duration](bold green)";
|
||||
};
|
||||
|
||||
rust = {
|
||||
format = "via [⚙️ $version](red bold)";
|
||||
};
|
||||
|
||||
kubernetes = {
|
||||
disabled = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
yazi = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
|
||||
shellWrapperName = "yz";
|
||||
settings = {
|
||||
mgr = {
|
||||
|
|
@ -42,33 +44,63 @@
|
|||
};
|
||||
|
||||
opener = {
|
||||
play = [
|
||||
"play" = [
|
||||
{
|
||||
run = "${lib.getExe pkgs.mpv} ''$@''";
|
||||
run = ''${lib.getExe pkgs.mpv} --vo=tct "%s"'';
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
view = [
|
||||
"view" = [
|
||||
{
|
||||
run = "${lib.getExe pkgs.timg} ''-p k -C $@ | ${lib.getExe' pkgs.uutils-coreutils-noprefix "more"}''";
|
||||
run = ''${lib.getExe pkgs.viu} -t "%s"'';
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
edit = [
|
||||
"edit" = [
|
||||
{
|
||||
run = "${lib.getExe pkgs.helix} ''$@''";
|
||||
run = ''${lib.getExe pkgs.helix} "%s"'';
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
open = [
|
||||
"doc" = [
|
||||
{
|
||||
run = "${lib.getExe' pkgs.xdg-utils "xdg-open"} ''$@''";
|
||||
run = ''${lib.getExe pkgs.tdf} "%s"'';
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
"hex" = [
|
||||
{
|
||||
run = ''${lib.getExe pkgs.hexyl} "$s"'';
|
||||
}
|
||||
];
|
||||
|
||||
"exfil" = [
|
||||
{
|
||||
run = ''${lib.getExe pkgs.ouch} de "%s"'';
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
"book" = [
|
||||
{
|
||||
run = ''${lib.getExe pkgs.epr} "%s"'';
|
||||
block = true;
|
||||
for = "unix";
|
||||
}
|
||||
];
|
||||
|
||||
"open" = [
|
||||
{
|
||||
run = ''${lib.getExe' pkgs.xdg-utils "xdg-open"} "%s"'';
|
||||
orphan = true;
|
||||
for = "unix";
|
||||
}
|
||||
|
|
@ -78,23 +110,83 @@
|
|||
open = {
|
||||
rules = [
|
||||
{
|
||||
mime = "image/*";
|
||||
use = "view";
|
||||
}
|
||||
|
||||
{
|
||||
mime = "text/*";
|
||||
use = "edit";
|
||||
mime = "video/*";
|
||||
use = [
|
||||
"play"
|
||||
"open"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "audio/*";
|
||||
use = "play";
|
||||
use = [
|
||||
"play"
|
||||
"open"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "video/*";
|
||||
use = "play";
|
||||
mime = "application/epub+zip";
|
||||
use = [
|
||||
"book"
|
||||
"edit"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "application/pdf";
|
||||
use = [
|
||||
"doc"
|
||||
"open"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "application/{octet-stream,x-executable,x-sharedlib,x-pie-executable}";
|
||||
use = [
|
||||
"hex"
|
||||
"open"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "application/vnd.*";
|
||||
use = [
|
||||
"open"
|
||||
"edit"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "font/*";
|
||||
use = [
|
||||
"open"
|
||||
"edit"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "application/{zip,rar,7z*,tar*,x-tar,x-bzip*,x-gzip,x-xz}";
|
||||
use = [
|
||||
"exfil"
|
||||
"open"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "text/*";
|
||||
use = [
|
||||
"edit"
|
||||
"open"
|
||||
];
|
||||
}
|
||||
|
||||
{
|
||||
mime = "*";
|
||||
use = [
|
||||
"edit"
|
||||
"open"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,8 +6,32 @@
|
|||
programs = {
|
||||
zellij = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
default_shell = "${lib.getExe pkgs.fish}";
|
||||
options = {
|
||||
copy_on_select = false;
|
||||
};
|
||||
|
||||
keybinds = {
|
||||
unbind = [
|
||||
"Alt n"
|
||||
"Alt i"
|
||||
"Alt o"
|
||||
"Alt h"
|
||||
"Alt j"
|
||||
"Alt k"
|
||||
"Alt l"
|
||||
"Alt f"
|
||||
"Alt Up"
|
||||
"Alt Down"
|
||||
"Alt Right"
|
||||
"Alt Left"
|
||||
"Alt +"
|
||||
"Alt -"
|
||||
];
|
||||
};
|
||||
|
||||
default_shell = "${lib.getExe pkgs.nushell}";
|
||||
show_startup_tips = false;
|
||||
show_release_notes = false;
|
||||
simplified_ui = true;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
zoxide = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
_: {
|
||||
stylix = {
|
||||
base16Scheme = {
|
||||
scheme = "Tokyonight by Folke Lemaitre (https://github.com/folke)";
|
||||
name = "Tokyonight";
|
||||
scheme = "Tokyo-Night-Storm-MD3e";
|
||||
name = "TokyoNightStormMD3e";
|
||||
base00 = "#24283b";
|
||||
base01 = "#1f2335";
|
||||
base02 = "#292e42";
|
||||
base03 = "#565f89";
|
||||
base04 = "#a9b1d6";
|
||||
base05 = "#c0caf5";
|
||||
base06 = "#c0caf5";
|
||||
base07 = "#c0caf5";
|
||||
base06 = "#cdd6f4";
|
||||
base07 = "#d5d6db";
|
||||
base08 = "#f7768e";
|
||||
base09 = "#ff9e64";
|
||||
base0A = "#e0af68";
|
||||
base0B = "#9ece6a";
|
||||
base0C = "#1abc9c";
|
||||
base0D = "#41a6b5";
|
||||
base0C = "#7dcfff";
|
||||
base0D = "#7aa2f7";
|
||||
base0E = "#bb9af7";
|
||||
base0F = "#ff007c";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,30 +2,30 @@
|
|||
stylix = {
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 10;
|
||||
desktop = 8;
|
||||
popups = 10;
|
||||
terminal = 10;
|
||||
applications = 12;
|
||||
desktop = 11;
|
||||
popups = 11;
|
||||
terminal = 12;
|
||||
};
|
||||
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.roboto-mono;
|
||||
name = "Roboto-Mono Nerd Font";
|
||||
package = pkgs.nerd-fonts.monaspace;
|
||||
name = "Monospace Aether Nerd Font";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.nerd-fonts.symbols-only;
|
||||
name = "Symbols Only Nerd Font";
|
||||
package = pkgs.noto-fonts-color-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.aurulent-sans-mono;
|
||||
name = "Aurulent Sans Mono Nerd Font";
|
||||
package = pkgs.nerd-fonts.iosevka-term-slab;
|
||||
name = "Iosevka Term Slab Nerd Font";
|
||||
};
|
||||
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.hack;
|
||||
name = "Hack Nerd Font";
|
||||
package = pkgs.nerd-fonts.noto;
|
||||
name = "Noto Serif Nerd Font";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
_: {
|
||||
stylix = {
|
||||
base16Scheme = {
|
||||
base00 = "2a1617";
|
||||
base01 = "5d3f3f";
|
||||
base02 = "7a5bab";
|
||||
base03 = "bb9499";
|
||||
base04 = "eea1cf";
|
||||
base05 = "f5dddd";
|
||||
base06 = "ffebff";
|
||||
base07 = "ffede9";
|
||||
base08 = "e36b70";
|
||||
base09 = "ac878e";
|
||||
base0A = "db7356";
|
||||
base0B = "a78897";
|
||||
base0C = "ca7a79";
|
||||
base0D = "b28776";
|
||||
base0E = "d8708b";
|
||||
base0F = "ec6653";
|
||||
base10 = "2a1617";
|
||||
base11 = "2a1617";
|
||||
base12 = "e36b70";
|
||||
base13 = "ac878e";
|
||||
base14 = "a78897";
|
||||
base15 = "ca7a79";
|
||||
base16 = "b28776";
|
||||
base17 = "d8708b";
|
||||
scheme = "hand7s";
|
||||
name = "red_ish";
|
||||
};
|
||||
};
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 37 KiB |
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
self,
|
||||
config,
|
||||
self,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
|
|
@ -14,22 +14,22 @@
|
|||
)
|
||||
true;
|
||||
|
||||
package = self.inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
portalPackage = self.inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||
package = self.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage = self.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
|
||||
settings = {
|
||||
monitor = ", 2560x1440@165.00Hz, 0x0, 1";
|
||||
|
||||
general = {
|
||||
gaps_in = "5";
|
||||
gaps_out = "20";
|
||||
border_size = "2";
|
||||
gaps_in = 8;
|
||||
gaps_out = 20;
|
||||
border_size = 0;
|
||||
layout = "dwindle";
|
||||
|
||||
snap = {
|
||||
enabled = false;
|
||||
window_gap = "5";
|
||||
monitor_gap = "5";
|
||||
window_gap = 10;
|
||||
monitor_gap = 10;
|
||||
border_overlap = false;
|
||||
};
|
||||
};
|
||||
|
|
@ -39,9 +39,9 @@
|
|||
kb_options = "grp:caps_toggle";
|
||||
|
||||
numlock_by_default = true;
|
||||
follow_mouse = "1";
|
||||
follow_mouse = 1;
|
||||
left_handed = false;
|
||||
sensitivity = "0";
|
||||
sensitivity = 0;
|
||||
|
||||
special_fallthrough = true;
|
||||
focus_on_close = 1;
|
||||
|
|
@ -64,27 +64,29 @@
|
|||
};
|
||||
|
||||
decoration = {
|
||||
active_opacity = "0.85";
|
||||
inactive_opacity = "0.65";
|
||||
active_opacity = "0.92";
|
||||
inactive_opacity = "0.88";
|
||||
fullscreen_opacity = "1.0";
|
||||
rounding = "10";
|
||||
|
||||
dim_inactive = true;
|
||||
dim_strength = "0.15";
|
||||
dim_special = "0.0";
|
||||
dim_around = "0.05";
|
||||
rounding = 24;
|
||||
rounding_power = "2";
|
||||
|
||||
dim_inactive = false;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
render_power = "4";
|
||||
range = "4";
|
||||
render_power = 3;
|
||||
range = 20;
|
||||
ignore_window = false;
|
||||
offset = "0 4";
|
||||
scale = "1.0";
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = "10";
|
||||
passes = "5";
|
||||
size = 8;
|
||||
passes = 3;
|
||||
vibrancy = 0.2;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -92,7 +94,7 @@
|
|||
"${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpaper.service"
|
||||
"${lib.getExe' pkgs.systemd "systemctl"} --user start hypridle.service"
|
||||
"${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpolkitagent.service"
|
||||
"${lib.getExe self.inputs.noctalia.packages.${pkgs.system}.default}"
|
||||
"${lib.getExe self.inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default}"
|
||||
|
||||
"${lib.getExe' pkgs.hyprland "hyprctl"} setcursor material_light_cursors 20"
|
||||
];
|
||||
|
|
@ -100,12 +102,12 @@
|
|||
bind = [
|
||||
"ALT, return, exec, ${lib.getExe pkgs.ghostty}"
|
||||
"ALT, Q, killactive,"
|
||||
"ALT, S, exec, ${lib.getExe self.inputs.noctalia.packages.${pkgs.system}.default} ipc call launcher toggle"
|
||||
"ALT, S, exec, ${lib.getExe self.inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default} ipc call launcher toggle"
|
||||
"ALT, F, fullscreen, 0"
|
||||
"ALT, L, exec, ${lib.getExe pkgs.hyprlock}"
|
||||
|
||||
"ALT SHIFT, space, togglefloating, active"
|
||||
"ALT SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png | , killall -9 hyprpicker"
|
||||
"ALT SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png || , killall -9 hyprpicker"
|
||||
|
||||
"ALT, left, movefocus, l"
|
||||
"ALT, right, movefocus, r"
|
||||
|
|
@ -163,18 +165,34 @@
|
|||
];
|
||||
|
||||
animation = [
|
||||
"workspace_wraparound = true"
|
||||
"enabled = true"
|
||||
|
||||
"animation = windows, 1, 7, popin"
|
||||
"animation = windowsOut, 1, 7, popin"
|
||||
"bezier = md3_standard, 0.2, 0.0, 0.0, 1.0"
|
||||
"bezier = md3_decel, 0.05, 0.7, 0.1, 1.0"
|
||||
"bezier = md3_accel, 0.3, 0.0, 0.8, 0.15"
|
||||
|
||||
"animation = layers, 1, 7, fade"
|
||||
"bezier = menu_decel, 0.1, 1.0, 0.1, 1.0"
|
||||
"bezier = menu_accel, 0.38, 0.04, 1.0, 0.07"
|
||||
|
||||
"animation = border, 1, 10"
|
||||
"animation = borderangle, 1, 10"
|
||||
"animation = windows, 1, 4, md3_decel, slide"
|
||||
"animation = windowsIn, 1, 4, md3_decel, slide"
|
||||
"animation = windowsOut, 1, 2, md3_accel, slide"
|
||||
"animation = fade, 1, 2, md3_standard"
|
||||
"animation = layers, 1, 2, md3_decel, slide"
|
||||
"animation = layersIn, 1, 3, md3_decel, slide"
|
||||
"animation = layersOut, 1, 2, md3_accel, slide"
|
||||
"animation = fadeLayersIn, 1, 3, menu_decel"
|
||||
"animation = fadeLayersOut, 1, 2, menu_accel"
|
||||
"animation = workspaces, 1, 4, md3_standard, slidefade 20%"
|
||||
"animation = specialWorkspace, 1, 3, md3_decel, slidevert"
|
||||
];
|
||||
|
||||
"animation = workspaces, 1, 7, slidevert"
|
||||
"animation = specialWorkspace, 1, 7, slidevert"
|
||||
windowrulev2 = [
|
||||
"float, class:^(yazi-picker)$"
|
||||
"center, class:^(yazi-picker)$"
|
||||
"size 1000 600, class:^(yazi-picker)$"
|
||||
"stayfocused, class:^(yazi-picker)$"
|
||||
];
|
||||
|
||||
misc = {
|
||||
|
|
@ -185,11 +203,12 @@
|
|||
animate_mouse_windowdragging = true;
|
||||
focus_on_activate = true;
|
||||
close_special_on_empty = true;
|
||||
initial_workspace_tracking = "2";
|
||||
vrr = "3";
|
||||
};
|
||||
|
||||
render = {
|
||||
cm_auto_hdr = 0;
|
||||
direct_scanout = "2";
|
||||
};
|
||||
|
||||
binds = {
|
||||
|
|
@ -264,8 +283,7 @@
|
|||
|
||||
plugins = with pkgs.hyprlandPlugins; [
|
||||
hypr-dynamic-cursors
|
||||
hyprscrolling
|
||||
hyprexpo
|
||||
hyprspace
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
22
hand7s/xdg/configFile.nix
Normal file
22
hand7s/xdg/configFile.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
xdg = {
|
||||
configFile = {
|
||||
"xdg-desktop-portal-termfilechooser/config" = {
|
||||
enable = true;
|
||||
force = true;
|
||||
text = ''
|
||||
[filechooser]
|
||||
cmd="${pkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh"
|
||||
default_dir=$HOME
|
||||
env=TERMCMD="${lib.getExe pkgs.ghostty} --title='yazi-picker' -e"
|
||||
open_mode=suggested
|
||||
save_mode=last
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
11
hand7s/xdg/mime.nix
Normal file
11
hand7s/xdg/mime.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
_: {
|
||||
xdg = {
|
||||
mime = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
35
hand7s/xdg/portal.nix
Normal file
35
hand7s/xdg/portal.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = lib.mkIf config.home.gui.enable true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-termfilechooser
|
||||
];
|
||||
|
||||
config = {
|
||||
common = {
|
||||
default = [
|
||||
"gtk"
|
||||
];
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
default = [
|
||||
"gtk"
|
||||
"hyprland"
|
||||
];
|
||||
|
||||
"org.freedesktop.impl.portal.FileChooser" = [
|
||||
"termfilechooser"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
12
hand7s/xdg/terminal.nix
Normal file
12
hand7s/xdg/terminal.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
_: {
|
||||
xdg = {
|
||||
terminal-exec = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default = [
|
||||
"com.mitchellh.ghostty.desktop"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
boot = {
|
||||
lanzaboote = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
boot = {
|
||||
tmp = {
|
||||
useTmpfs = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
console = {
|
||||
useXkbConfig = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
disko = {
|
||||
devices = {
|
||||
disk = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
disko = {
|
||||
devices = {
|
||||
lvm_vg = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
hardware = {
|
||||
enableRedistributableFirmware = true;
|
||||
cpu = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
hardware = {
|
||||
keyboard = {
|
||||
qmk = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
zramSwap = {
|
||||
enable = true;
|
||||
algorithm = "zstd";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
supportedLocales = [
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
networking = {
|
||||
firewall = {
|
||||
allowPing = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
networking = {
|
||||
hostId = "3c4734c8";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
networking = {
|
||||
hostName = "s0melapt0p-nix";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
networking = {
|
||||
hosts = {
|
||||
# EVA00
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
networking = {
|
||||
nameservers = [
|
||||
# cf dns
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
networking = {
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
networking = {
|
||||
timeServers = [
|
||||
"0.nixos.pool.ntp.org"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
networking = {
|
||||
wireguard = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nix = {
|
||||
settings = {
|
||||
sandbox = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nix = {
|
||||
settings = {
|
||||
substituters = [
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-public-keys = [
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
nixpkgs = {
|
||||
system = "x86_64-linux";
|
||||
hostPlatform = "x86_64-linux";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
programs = {
|
||||
gamemode = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
programs = {
|
||||
nh = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
programs = {
|
||||
ssh = {
|
||||
startAgent = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
programs = {
|
||||
yubikey-touch-detector = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
security = {
|
||||
pam = {
|
||||
services = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
security = {
|
||||
polkit = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
security = {
|
||||
rtkit = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
security = {
|
||||
sudo-rs = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
services = {
|
||||
fprintd = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
services = {
|
||||
libinput = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
services = {
|
||||
netbird = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
services = {
|
||||
thinkfan = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
services = {
|
||||
zapret = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
services = {
|
||||
zerotierone = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
systemd = {
|
||||
oomd = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
time = {
|
||||
timeZone = "Europe/Moscow";
|
||||
hardwareClockInLocalTime = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
users = {
|
||||
users = {
|
||||
hand7s = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
users = {
|
||||
users = {
|
||||
root = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
virtualisation = {
|
||||
docker = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
xdg = {
|
||||
icons = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{...}: {
|
||||
_: {
|
||||
xdg = {
|
||||
mime = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,57 +0,0 @@
|
|||
{self, ...}: {
|
||||
imports = [
|
||||
"${self}/kyra/disko/disk.nix"
|
||||
"${self}/kyra/disko/lvm_vg.nix"
|
||||
|
||||
"${self}/kyra/boot/initrd/availableKernelModules.nix"
|
||||
"${self}/kyra/boot/initrd/kernelModules.nix"
|
||||
"${self}/kyra/boot/loader/grub.nix"
|
||||
"${self}/kyra/boot/kernel.nix"
|
||||
"${self}/kyra/boot/tmp.nix"
|
||||
|
||||
"${self}/kyra/environment/systemPackages.nix"
|
||||
|
||||
"${self}/kyra/hardware/zram.nix"
|
||||
|
||||
"${self}/kyra/home-manager/users.nix"
|
||||
|
||||
"${self}/kyra/networking/interfaces/ens3.nix"
|
||||
"${self}/kyra/networking/firewall/ens3.nix"
|
||||
"${self}/kyra/networking/firewall.nix"
|
||||
"${self}/kyra/networking/dns.nix"
|
||||
"${self}/kyra/networking/wireguard.nix"
|
||||
"${self}/kyra/networking/defaultGateway.nix"
|
||||
|
||||
"${self}/kyra/nix/settings/allowed-users.nix"
|
||||
"${self}/kyra/nix/settings/experimental-features.nix"
|
||||
"${self}/kyra/nix/settings/substituters.nix"
|
||||
"${self}/kyra/nix/settings/trusted-public-keys.nix"
|
||||
"${self}/kyra/nix/settings/trusted-users.nix"
|
||||
"${self}/kyra/nix/settings/auto-optimise-store.nix"
|
||||
|
||||
"${self}/kyra/nixpkgs/config.nix"
|
||||
"${self}/kyra/nixpkgs/platform.nix"
|
||||
|
||||
"${self}/kyra/programs/nh.nix"
|
||||
|
||||
"${self}/kyra/services/openssh.nix"
|
||||
"${self}/kyra/services/fail2ban.nix"
|
||||
"${self}/kyra/services/netbird.nix"
|
||||
"${self}/kyra/services/qemuGuest.nix"
|
||||
"${self}/kyra/services/caddy.nix"
|
||||
"${self}/kyra/services/sing-box.nix"
|
||||
|
||||
"${self}/kyra/sops/age.nix"
|
||||
"${self}/kyra/sops/defaults.nix"
|
||||
"${self}/kyra/sops/secrets.nix"
|
||||
|
||||
"${self}/kyra/system/stateVersion.nix"
|
||||
|
||||
"${self}/kyra/users/users.nix"
|
||||
"${self}/kyra/users/users/alep0u.nix"
|
||||
"${self}/kyra/users/users/hand7s.nix"
|
||||
"${self}/kyra/users/users/root.nix"
|
||||
|
||||
"${self}/kyra/virtualisation/docker.nix"
|
||||
];
|
||||
}
|
||||
|
|
@ -1,9 +1,14 @@
|
|||
{
|
||||
{name, ...}: {
|
||||
disko = {
|
||||
devices = {
|
||||
disk = {
|
||||
virt_main = {
|
||||
device = "/dev/sda";
|
||||
"virt_main" = {
|
||||
device =
|
||||
{
|
||||
"yara" = "/dev/vda";
|
||||
}.${
|
||||
name
|
||||
} or "/dev/sda";
|
||||
type = "disk";
|
||||
content = {
|
||||
type = "gpt";
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@
|
|||
"hand7s" = {
|
||||
imports = [
|
||||
"${self}/hand7s/"
|
||||
self.inputs.agenix.homeManagerModules.default
|
||||
self.inputs.spicetify-nix.homeManagerModules.default
|
||||
self.inputs.hyprland.homeManagerModules.default
|
||||
self.inputs.chaotic.homeManagerModules.default
|
||||
self.inputs.sops-nix.homeManagerModules.sops
|
||||
|
||||
self.inputs.nix-index-database.homeModules.nix-index
|
||||
self.inputs.noctalia.homeModules.default
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
networking = {
|
||||
defaultGateway = lib.mkIf (config.networking.hostName == "mel") {
|
||||
address = "45.11.229.1";
|
||||
interface = "ens3";
|
||||
};
|
||||
|
||||
defaultGateway6 = lib.mkIf (config.networking.hostName == "mel") {
|
||||
address = "2a0e:97c0:3e3:2Oa::1";
|
||||
interface = "ens3";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,11 +1,8 @@
|
|||
_: {
|
||||
networking = {
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowPing = true;
|
||||
checkReversePath = false;
|
||||
enable = false;
|
||||
};
|
||||
|
||||
useNetworkd = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,57 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
networking = {
|
||||
firewall = {
|
||||
interfaces = {
|
||||
ens3 = {
|
||||
allowedUDPPorts =
|
||||
[
|
||||
53580
|
||||
53590
|
||||
]
|
||||
++ lib.optionals (config.networking.hostName == "hazel") [
|
||||
443
|
||||
|
||||
25565
|
||||
|
||||
24
|
||||
25
|
||||
110
|
||||
143
|
||||
465
|
||||
587
|
||||
993
|
||||
995
|
||||
4190
|
||||
53570
|
||||
];
|
||||
|
||||
allowedTCPPorts =
|
||||
[
|
||||
53580
|
||||
53590
|
||||
]
|
||||
++ lib.optionals (config.networking.hostName == "hazel") [
|
||||
443
|
||||
|
||||
25565
|
||||
|
||||
24
|
||||
25
|
||||
110
|
||||
143
|
||||
465
|
||||
587
|
||||
993
|
||||
995
|
||||
4190
|
||||
53570
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
_: {
|
||||
{name, ...}: {
|
||||
networking = {
|
||||
hostName = "kyra";
|
||||
hostName = name;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
networking = {
|
||||
interfaces = {
|
||||
ens3 = {
|
||||
ipv4 = {
|
||||
addresses = lib.optionals (config.networking.hostName == "mel") [
|
||||
{
|
||||
address = "45.11.229.254";
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
ipv6 = {
|
||||
addresses =
|
||||
lib.optionals (config.networking.hostName == "hazel") [
|
||||
{
|
||||
address = "2a03:6f01:1:2::cb1e";
|
||||
prefixLength = 64;
|
||||
}
|
||||
]
|
||||
++ lib.optionals (config.networking.hostName == "mel") [
|
||||
{
|
||||
address = "2a0e:97c0:3e3:2Oa::1";
|
||||
prefixLength = 64;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
7
kyra/networking/nftables.nix
Normal file
7
kyra/networking/nftables.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
_: {
|
||||
networking = {
|
||||
nftables = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
18
kyra/security/acme.nix
Normal file
18
kyra/security/acme.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{config, ...}: {
|
||||
security = {
|
||||
acme = {
|
||||
acceptTerms = true;
|
||||
defaults = {
|
||||
email = "litvinovb0@gmail.com";
|
||||
};
|
||||
|
||||
certs = {
|
||||
"hand7s.org" = {
|
||||
dnsProvider = "cloudflare";
|
||||
credentialsFile = config.sops.templates."acme.env".path;
|
||||
group = "sing-box";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue