Some changes

This commit is contained in:
tx0 2025-03-03 00:00:20 +05:00
parent b1d604c496
commit 17bd6c385e
50 changed files with 954 additions and 851 deletions

7
.sops.yaml Normal file
View file

@ -0,0 +1,7 @@
keys:
- &public_key age1wkmgn0m8ln5huvqfcxzwprlpvge82hg572vfuclv7natr7hmp5qs672vt9
creation_rules:
- path_regex: secrets/.*$
key_groups:
- age:
- *public_key

View file

@ -532,7 +532,9 @@
"hyprlang": "hyprlang_2",
"hyprutils": "hyprutils_2",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_2",
"xdph": "xdph"
@ -874,11 +876,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1738410390,
"narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=",
"lastModified": 1738680400,
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3a228057f5b619feb3186e986dbe76278d707b6e",
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
"type": "github"
},
"original": {
@ -944,86 +946,6 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1738680400,
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1738680400,
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1737370608,
"narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "300081d0cc72df578b02d914df941b8ec62240e6",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1736798957,
"narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nmd": {
"flake": false,
"locked": {
@ -1043,7 +965,9 @@
"nur": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_3",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
@ -1066,7 +990,9 @@
"flake-utils": "flake-utils_2",
"mnw": "mnw",
"nil": "nil",
"nixpkgs": "nixpkgs_4",
"nixpkgs": [
"nixpkgs"
],
"nmd": "nmd",
"plugin-aerial-nvim": "plugin-aerial-nvim",
"plugin-alpha-nvim": "plugin-alpha-nvim",
@ -3980,13 +3906,14 @@
"hyprland": "hyprland",
"lix-module": "lix-module",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs",
"nixpkgs-master": "nixpkgs-master",
"nixpkgs-stable": "nixpkgs-stable",
"nur": "nur",
"nvf": "nvf",
"nypkgs": "nypkgs",
"programsdb": "programsdb",
"sops-nix": "sops-nix",
"stylix": "stylix",
"zen-browser": "zen-browser"
}
@ -4013,6 +3940,26 @@
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1739262228,
"narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16",
@ -4025,7 +3972,9 @@
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_5",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_6",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
@ -4281,14 +4230,16 @@
},
"zen-browser": {
"inputs": {
"nixpkgs": "nixpkgs_6"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1738941466,
"narHash": "sha256-mtHsTGEBFMH3e28bwX43pNFCP7xTb4VdMikOcJg36PQ=",
"lastModified": 1740554227,
"narHash": "sha256-xpwZeMw2gGenixGQDyVv+ja+epcR+EJ1BPuGFdgFS18=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "25356eff9ab70ccb01e70528fc8543ceb033a0c2",
"rev": "7de16ae319e6f6852274fa90b0d41c00049767c9",
"type": "github"
},
"original": {

View file

@ -1,5 +1,5 @@
{
description = ''
description = '' .
$$\
\__|
$$\ $$\ $$$$$$$\ $$\ $$\ $$\ $$$$$$\ $$$$$$\ $$$$$$$\ $$$$$$\
@ -9,57 +9,55 @@
\$$$$$$ |$$ | $$ |$$ | \$ / \$$$$$$$\ $$ | $$$$$$$ |\$$$$$$$\
\______/ \__| \__|\__| \_/ \_______|\__| \_______/ \_______|
A nixos/hm flake
'';
outputs = {
self,
stylix,
nixpkgs,
nixpkgs-master,
nix-index-database,
flake-parts,
nypkgs,
home-manager,
nvf,
lix-module,
...
} @ inputs:
flake-parts.lib.mkFlake {inherit inputs;} {
flake = let
outputs = {self, ...} @ inputs: let
universe = import ./universe.nix;
system = "x86_64-linux";
in
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
flake = let
u = import ./ulib {inherit inputs system;};
in {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
nixosConfigurations."earth" = inputs.nixpkgs.lib.nixosSystem {
specialArgs = {inherit system inputs u;};
modules = [
stylix.nixosModules.stylix
lix-module.nixosModules.default
./hosts/nixos
inputs.stylix.nixosModules.stylix
inputs.lix-module.nixosModules.default
./hosts/common
./hosts/earth
universe
];
};
homeConfigurations.tx0 = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
homeConfigurations.tx0 = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
overlays = [];
};
extraSpecialArgs = {inherit inputs;};
extraSpecialArgs = {inherit system inputs u;};
modules = [
stylix.homeManagerModules.stylix
nix-index-database.hmModules.nix-index
nvf.homeManagerModules.default
inputs.stylix.homeManagerModules.stylix
inputs.nix-index-database.hmModules.nix-index
inputs.nvf.homeManagerModules.default
./home
universe
];
};
};
systems = ["x86_64-linux"];
systems = [system];
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11";
nixpkgs-master.url = "github:nixos/nixpkgs/master";
nur.url = "github:nix-community/NUR";
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
@ -67,8 +65,16 @@
};
flake-parts.url = "github:hercules-ci/flake-parts";
stylix.url = "github:danth/stylix";
zen-browser.url = "github:0xc000022070/zen-browser-flake";
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:nix-community/nix-index-database";
@ -90,15 +96,24 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nvf.url = "github:notashelf/nvf";
nvf = {
url = "github:notashelf/nvf";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/Hyprland/v0.46.2";
inputs.nixpkgs.follows = "nixpkgs";
};
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}

View file

@ -1,5 +1,5 @@
{inputs, ...}: {
imports = inputs.nypkgs.legacyPackages."x86_64-linux".lib.umport {
{u, ...}: {
imports = u.umport {
path = ./.;
include = [

View file

@ -5,12 +5,12 @@
}: {
home = {
username = "tx0";
homeDirectory = "/home/tx0/";
homeDirectory = "/home/tx0";
stateVersion = "24.11";
sessionVariables = {
EDITOR = "${config.home.homeDirectory}/.nix-profile/bin/nvim";
HYPRSHOT_DIR = "${config.home.homeDirectory}/Pictures/Screenshots/";
FLAKE = "${config.home.homeDirectory}/nixos/";
FLAKE = "${config.home.homeDirectory}/universe/";
NIXOS_OZONE_WL = 1;
ELECTRON_OZONE_PLATFORM_HINT = 1;
MOZ_ENABLE_WAYLAND = 1;
@ -26,6 +26,4 @@
"file://${config.home.homeDirectory}/Documents/"
"file://${config.home.homeDirectory}/Pictures/Screenshots"
];
universe.alacritty.enable = true;
}

View file

@ -3,9 +3,9 @@
config,
...
}: let
cfg = config.universe.alacritty;
cfg = config.universe.programs.alacritty;
in {
options.universe.alacritty = {
options.universe.programs.alacritty = {
enable = lib.mkEnableOption "alacritty terminal";
};
config = lib.mkIf cfg.enable {

View file

@ -1,17 +0,0 @@
{pkgs, ...}: {
programs.ghostty = {
enable = true;
enableFishIntegration = true;
installBatSyntax = true;
installVimSyntax = false;
clearDefaultKeybinds = true;
settings = {
window-padding-x = 10;
window-padding-y = 10;
window-vsync = true;
window-decoration = "none";
command = "tmux new";
confirm-close-surface = false;
};
};
}

View file

@ -1,11 +1,18 @@
let
{
config,
lib,
...
}: let
terminal = "foot";
fileManager = "nautilus -w";
discord = "vesktop";
telegram = "telegram-desktop";
browser = "zen";
menu = "anyrun";
cfg = config.universe.de.hyprland;
in {
config = lib.mkIf cfg.enable {
wayland.windowManager.hyprland.settings = {
bind = [
# Software
@ -71,4 +78,5 @@ in {
"SUPER, mouse:273, resizewindow"
];
};
};
}

View file

@ -1,8 +1,18 @@
{
pkgs,
inputs,
config,
lib,
...
}: {
}:
with lib; let
cfg = config.universe.de.hyprland;
in {
options.universe.de.hyprland = {
enable = mkEnableOption "hyprland";
};
config = mkIf cfg.enable {
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
@ -140,4 +150,5 @@
];
};
};
};
}

View file

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="40px" viewBox="0 -960 960 960" width="40px" fill="#e9ecf2"><path d="M272-120h-85.33q-27 0-46.84-19.83Q120-159.67 120-186.67V-480q0-75 28.5-140.5t77-114q48.5-48.5 114-77T480-840q75 0 140.5 28.5t114 77q48.5 48.5 77 114T840-480v293.33q0 27-19.83 46.84Q800.33-120 773.33-120H688q-27.5 0-47.08-19.58-19.59-19.59-19.59-47.09v-170.66q0-27.5 19.59-47.09Q660.5-424 688-424h85.33v-56q0-122.57-85.38-207.95T480-773.33q-122.57 0-207.95 85.38T186.67-480v56H272q27.5 0 47.08 19.58 19.59 19.59 19.59 47.09v170.66q0 27.5-19.59 47.09Q299.5-120 272-120Z"/></svg>

Before

Width:  |  Height:  |  Size: 592 B

View file

@ -1,10 +1,58 @@
{
pkgs,
config,
lib,
...
}: let
}:
with lib; let
cfg = config.universe.de.waybar;
music-script = pkgs.callPackage ./scripts/music {};
in {
options.universe.de.waybar = {
enable = mkEnableOption "waybar";
settings = {
radiuses = {
outer = mkOption {
type = types.int;
default = 100;
};
inner = mkOption {
type = types.int;
default = 40;
};
bar = mkOption {
type = types.int;
default = 25;
};
};
gapps = {
outer = mkOption {
type = types.int;
default = 6;
};
inner = mkOption {
type = types.int;
default = 8;
};
chips = mkOption {
type = types.int;
default = 4;
};
};
sizes = {
icons = mkOption {
type = types.int;
default = 20;
};
text = mkOption {
type = types.int;
default = 15;
};
};
};
};
config = mkIf cfg.enable {
programs.waybar = {
enable = true;
package = pkgs.waybar;
@ -13,7 +61,6 @@ in {
name = "main";
layer = "top";
position = "bottom";
# output = ["DP-1"];
height = 50;
width = 1800;
spacing = 0;
@ -30,8 +77,6 @@ in {
"memory"
"custom/player-btn-play"
#"custom/player-btn-prev"
#"custom/player-btn-next"
"custom/player-text"
];
@ -54,7 +99,7 @@ in {
];
"tray" = {
icon-size = 15;
cfg.sizes.icons = 15;
spacing = 16;
};
@ -163,101 +208,9 @@ in {
timezone = "Asia/Yekaterinburg";
};
};
/*
second = {
name = "second";
layer = "top";
position = "bottom";
output = ["HDMI-A-1"];
height = 50;
width = 900;
spacing = 0;
margin-top = -15;
margin-bottom = 0;
modules-left = [
"tray"
];
modules-center = [
"hyprland/workspaces"
];
modules-right = [
"wireplumber#icon"
"wireplumber#text"
"custom/clock"
"clock"
"custom/date"
"clock#date"
];
"tray" = {
icon-size = 15;
spacing = 16;
};
"hyprland/workspaces" = {
format = "{name}";
on-click = "activate";
tooltip = false;
"persistent_workspaces" = {
"*" = [];
};
};
"wireplumber#icon" = {
tooltip = false;
scroll-step = 2;
format = "{icon}";
format-icons = ["&#xe04e;" "&#xe04d;" "&#xe050;"];
format-muted = "&#xe04f;";
on-click = "pwvucontrol";
max-volume = 100;
};
"wireplumber#text" = {
scroll-step = 2;
format = "{volume}%";
on-click = "pwvucontrol";
max-volume = 100;
};
"custom/clock" = {
tooltip = false;
format = "&#xe8b5;";
};
"clock" = {
tooltip = false;
format = "{:%H:%M}";
timezone = "Asia/Yekaterinburg";
};
"custom/date" = {
tooltip = false;
format = "&#xebcc;";
};
"clock#date" = {
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
format = "{:%b %d}";
timezone = "Asia/Yekaterinburg";
};
};
*/
};
style = let
outer-radius = 100;
inner-radius = 40;
bar-radius = 25;
outer-gapps = 6;
inner-gapps = 8;
chip-gapps = 4;
icon-size = 20;
text-size = 15;
s = x: builtins.toString x;
half = x: s ((builtins.floor (x * 10 / 2) * 1.0) / 10);
in
@ -269,23 +222,23 @@ in {
* {
font-family: "${config.stylix.fonts.serif.name}";
font-weight: bold;
font-size: ${s text-size}px;
font-size: ${s cfg.settings.sizes.text}px;
min-height: 0px;
}
window#waybar {
background-color: ${base01};
transition-duration: 0.5s;
border-radius: ${s bar-radius}px ${s bar-radius}px 0px 0px;
/* border-radius: ${s bar-radius}px; */
border-radius: ${s cfg.settings.radiuses.bar}px ${s cfg.settings.radiuses.bar}px 0px 0px;
/* border-radius: ${s cfg.settings.radiuses.bar}px; */
}
#workspaces {
font-size: 14px;
background-color: ${base00};
margin: ${s outer-gapps}px ${half inner-gapps}px;
margin: ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.inner}px;
padding: 4px;
border-radius: ${s outer-radius}px;
border-radius: ${s cfg.settings.radiuses.outer}px;
}
#workspaces button {
@ -293,7 +246,7 @@ in {
color: ${base04};
padding: 2px 4px;
margin: 3px;
border-radius: ${s outer-radius}px;
border-radius: ${s cfg.settings.radiuses.outer}px;
}
#workspaces button:hover {
@ -326,14 +279,14 @@ in {
#custom-spotify {
background: ${base00};
border-style: none;
border-radius: ${s outer-radius}px;
border-radius: ${s cfg.settings.radiuses.outer}px;
color: ${base05};
margin: ${s outer-gapps}px ${half inner-gapps}px;
margin: ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.inner}px;
padding: 0px 10px;
}
#tray {
margin: ${s outer-gapps}px ${half chip-gapps}px ${s outer-gapps}px ${s outer-gapps}px;
margin: ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.chips}px ${s cfg.settings.gapps.outer}px ${s cfg.settings.gapps.outer}px;
}
/* icon chips */
@ -346,7 +299,7 @@ in {
#custom-player-btn-next,
#custom-player-btn-play,
#custom-cpu {
font-size: ${s icon-size}px;
font-size: ${s cfg.settings.sizes.icons}px;
font-family: "Material Symbols Rounded";
min-width: 25px;
}
@ -369,15 +322,15 @@ in {
#custom-clock,
#custom-date {
padding: 0px 7px 0px 10px;
margin: ${s outer-gapps}px ${half chip-gapps}px ${s outer-gapps}px ${half inner-gapps}px;
border-radius: ${s outer-radius}px ${s inner-radius}px ${s inner-radius}px ${s outer-radius}px
margin: ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.chips}px ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.inner}px;
border-radius: ${s cfg.settings.radiuses.outer}px ${s cfg.settings.radiuses.inner}px ${s cfg.settings.radiuses.inner}px ${s cfg.settings.radiuses.outer}px
}
/* center chips */
#custom-player-btn-next,
#custom-player-btn-prev {
margin: ${s outer-gapps}px ${half chip-gapps}px ${s outer-gapps}px ${half chip-gapps}px;
border-radius: ${s (inner-radius / 4)}px;
margin: ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.chips}px ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.chips}px;
border-radius: ${s (cfg.settings.radiuses.inner / 4)}px;
min-width: 15px;
}
@ -389,8 +342,8 @@ in {
#language,
#clock{
padding: 0px 10px 0px 7px;
margin: ${s outer-gapps}px ${half inner-gapps}px ${s outer-gapps}px ${half chip-gapps}px;
border-radius: ${s inner-radius}px ${s outer-radius}px ${s outer-radius}px ${s inner-radius}px
margin: ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.inner}px ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.chips}px;
border-radius: ${s cfg.settings.radiuses.inner}px ${s cfg.settings.radiuses.outer}px ${s cfg.settings.radiuses.outer}px ${s cfg.settings.radiuses.inner}px
}
#wireplumber.icon.muted {
@ -398,8 +351,9 @@ in {
}
#clock.date {
margin: ${s outer-gapps}px ${s outer-gapps}px ${s outer-gapps}px ${half chip-gapps}px;
margin: ${s cfg.settings.gapps.outer}px ${s cfg.settings.gapps.outer}px ${s cfg.settings.gapps.outer}px ${half cfg.settings.gapps.chips}px;
}
'';
};
};
}

View file

@ -0,0 +1,10 @@
{...}: {
programs.nh = {
enable = true;
clean = {
enable = true;
dates = "weekly";
extraArgs = "--keep-since 7d";
};
};
}

View file

@ -5,7 +5,7 @@
}: {
home.packages = with pkgs; [
# flakes
inputs.zen-browser.packages.${system}.default
inputs.zen-browser.packages.${system}.beta
(callPackage ./derivations/bunnyfetch {})
#fonts
@ -35,6 +35,7 @@
zip
unzip
nix-output-monitor
sops
#net
amneziawg-go

107
home/theming/stylix.nix Normal file
View file

@ -0,0 +1,107 @@
{
pkgs,
config,
inputs,
lib,
...
}:
with lib; let
cfg = config.universe.theme.stylix;
in {
imports = [
inputs.stylix.homeManagerModules.stylix
];
options.universe.theme.stylix = {
enable = mkEnableOption "stylix";
settings = {
useLutgen = mkEnableOption "lutgen";
wallpapers = mkOption {
type = types.path;
};
base16Scheme = mkOption {
type = types.str;
};
};
};
config = mkIf cfg.enable {
stylix = {
enable = true;
base16Scheme = cfg.settings.base16Scheme;
image =
if cfg.settings.useLutgen
then let
level = 10;
lum = 1.0;
preserve = false;
in
pkgs.runCommand "output.png" {} ''
${pkgs.lutgen}/bin/lutgen apply ${cfg.settings.wallpapers} -l ${builtins.toString level} -L ${builtins.toString lum} ${
if preserve == true
then "-P"
else ""
} -o $out -- ${
builtins.concatStringsSep " " (with config.lib.stylix.colors; [
base00
base01
base02
base03
base04
base05
base06
base07
base08
base09
base0A
base0B
base0C
base0D
base0E
base0F
])
}
''
else cfg.settings.wallpapers;
polarity = "dark";
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 24;
};
fonts = {
serif = {
name = "Cantarell";
package = pkgs.cantarell-fonts;
};
monospace = {
name = "CaskaydiaCove Nerd Font Mono";
package = pkgs.nerd-fonts.jetbrains-mono;
};
sansSerif = config.stylix.fonts.serif;
emoji = config.stylix.fonts.serif;
sizes = {
desktop = 12;
applications = 12;
popups = 12;
terminal = 16;
};
};
opacity = {terminal = 0.65;};
targets = {
kde.enable = false;
waybar.enable = false;
vesktop.enable = true;
btop.enable = true;
};
};
};
}

5
home/theming/x11.nix Normal file
View file

@ -0,0 +1,5 @@
{...}: {
home.pointerCursor = {
x11.enable = true;
};
}

10
hosts/common/default.nix Normal file
View file

@ -0,0 +1,10 @@
{u, ...}: {
system.stateVersion = "24.11";
imports = u.umport {
path = ./.;
exclude = [
./default.nix
];
};
}

View file

@ -1,9 +0,0 @@
{...}: {
nixpkgs.config = {
allowUnfree = true;
allowBroken = true;
allowAliases = true;
allowInsecure = true;
allowUnfreePredicate = true;
};
}

View file

@ -1,32 +0,0 @@
{
pkgs,
inputs,
...
}: {
programs = {
fish.enable = true;
amnezia-vpn.enable = true;
nh = {
enable = true;
clean = {
enable = true;
dates = "weekly";
extraArgs = "--keep-since 7d";
};
};
clash-verge = {
enable = true;
autoStart = true;
};
hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
command-not-found.dbPath = inputs.programsdb.packages.${pkgs.system}.programs-sqlite;
};
}

View file

@ -0,0 +1,3 @@
{...}: {
programs.amnezia-vpn.enable = true;
}

View file

@ -0,0 +1,11 @@
{
inputs,
system,
...
}: {
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${system}.hyprland;
portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
};
}

View file

@ -0,0 +1,5 @@
{...}: {
programs.fish = {
enable = true;
};
}

View file

@ -0,0 +1,20 @@
{
"data": "ENC[AES256_GCM,data:dtRZmIQCS74zfrn9Efk7jqFkjlNh9k2tjuNEVQnx/raxzRnYNyUEZojnLW9zXeQfb44y0WK+ZqKod2EDGV+YmzU+Ml3jOyzU4LyCeOo6uZMR0pDg7gttwEl08tOfEP+Ik8RWQXoldDNX0WytL3EZViPiWQZUkwpu7dz7nXkXmSdDLAcfRuGcgHW9osSghEvEn5SBmj0pScyD7bgodk+JoZSqGqqHVH95FM44wefTn+sA+OTbmbf79lj8060i12mANMnKq0xM718F3UpgADfeZ+uOUouoE3XH7wLoG4pqGtL0bxBVh/d6xjYOPTWRkAu86/4/sVUf0yJdNs5G0ADPsfu4Ae6GV19IqPQZHTh+H5acx3nbxGxz3aCZaZGoCKHgAdVlik3udXtK/LxdYzbnHHSMPaZU6A0WlJ0aHvKc2UqJZ1t3ySvOKA4a4+t/uykGcMG42ZfTTUcHgaF0LYqJVDyOh4aRgaWabZiS2K/o++90QTlTLHr7kMdHRQ3HQ5Nt/TS/U7qlSLsTveBjrZTRVn3u5raQnsqbtI2XByjcp465lqFxERjAtf68HivWRIBcZ77YMqyrdiedkS0Uj2J3dyjU/IPbuO0DevVRNKd+YQ+tVfe+owsTjahRnoBdBnZK/yhm0qQ6Gupim9v/ohimdGiIGHFGA/bQoMpr2A2n0yCwzjYkHFJ6POd2n7l1+Wa+Sx+FBF5ntg==,iv:D0S5uTkQ/iOGdeVcy1AxGNFs2DGcUoD8ETyEO28ZPSo=,tag:67oRUU6IbfOI8MXu6FskKw==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1wkmgn0m8ln5huvqfcxzwprlpvge82hg572vfuclv7natr7hmp5qs672vt9",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzTGFteUpZVndEbG1ETGZw\nUHU0cEcvcmZYajA2VHQwSTJOeXM1Q1ZVSWtFCnBVMW5jQzNEV3hyQjl2cG9OckNx\naFZIaXhxRWlmRkNYRmZVNlpxTHlTNmcKLS0tIEJmWVFtS0tIb0xtK3hTbkoxSC9E\nS0V1Z0VEdC9BNngrbGs5V2pUYm01SGMKvHXkW6h+KsALMKAHZlnpezxo/3WwPmk/\nxH5pAw1F8A0+OehJbGPpE6pj+wD6TmnUBlupnq/FfFeVgbrmFfEHHw==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-03-02T18:25:21Z",
"mac": "ENC[AES256_GCM,data:q8NnAHWGJIGBprDCBqPGrveUBom6lFCLjFoQjEq0qQo/filDxS+hWzOVefoXWAq4bR3NbMWjYzvB1vHcakAkrfT8q9dDJpzSkM3Xl6aecTKWzEnEdwIS14t/1oGaWTku3WKJTO9Hf8xJaRf+fy8pdT5BsGqFRiyAVyp2dn1SPgY=,iv:RVBbmnPbfVMroHeh3q5Bfo8AHIESFV2PbhXlvesOFXI=,tag:SDCpBgLj0PSMqB1ILeatEg==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.4"
}
}

View file

@ -0,0 +1,5 @@
{inputs, ...}: {
imports = [
inputs.sops-nix.nixosModules.sops
];
}

View file

@ -0,0 +1,30 @@
hello: ENC[AES256_GCM,data:s3MSqxa6QhZUxpUI3SiwwboUlMEw3lgnkbtT2iUuJlY5Fm1xGNgkVCz7pN9rxw==,iv:qdte/usQyvDISCm4WfaaDt/9F4CFdwxAyColJ22Y7O0=,tag:3lgWdE8HfFZfYMb5UtkEuA==,type:str]
example_key: ENC[AES256_GCM,data:QfpmpB/cipG/JpioDQ==,iv:ZQ1mrFYk4QwU4R2ubOEiQp5VMFiT3ZhgIkgNeEmZvGI=,tag:w4A0d+EF2fvEhqtUcDpXYg==,type:str]
#ENC[AES256_GCM,data:mZebWGKkb7XFFWnO06FiRA==,iv:OtP8AwQvI/rsTLhFvJkuVKuMav9PL2f1yG7had+ABWI=,tag:AXTyOa62PZeF+3ndekGmcw==,type:comment]
example_array:
- ENC[AES256_GCM,data:4sNGqJIHIwflJXc6KJo=,iv:Sd1dJ2Y0XLYWZpVCTYDUXvfC2tsWEDVsSmgBEYdMp+E=,tag:iQ2XKLMmCdWf30YTi1Yf5g==,type:str]
- ENC[AES256_GCM,data:ceFkMb2Ew07WPhncdDI=,iv:++H39hsNAoJfAO5mtcXl0k7IjX/8X4/9FM/dZjCr3JM=,tag:vymaspCobCyty7d+vk5jMQ==,type:str]
example_number: ENC[AES256_GCM,data:HvsewMuhZcCorw==,iv:ZRx4Iu2MVJoqMOHIpCIHLtAzt7y/xvyN6bcxcTsAB3w=,tag:pNY429ei1DPbITgDlqrv8Q==,type:float]
example_booleans:
- ENC[AES256_GCM,data:NRUkIg==,iv:Ya1WGCYu0ivjNw26KZy30kR3zQtOrb8V23qqBfG1ANE=,tag:sWnXwH2IK7+Jij2+kT8zAA==,type:bool]
- ENC[AES256_GCM,data:CMqKVBA=,iv:uO367cgd/m22PjCxWCmIRUja9Bq0+OcoxVwzoVjpfjQ=,tag:g5KiutD+l+5yG4WU1wOHaw==,type:bool]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1wkmgn0m8ln5huvqfcxzwprlpvge82hg572vfuclv7natr7hmp5qs672vt9
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBVmhFcHNlckhpZlpaUWE1
a296ay9oT05BKzFrZWNPbThaZUszaVpNQ3prCms0ZkVEY09zSWt4aGJ4Z1JHMDlC
a3BDYjY1cHFIcENwYWhUNFphamNZSWsKLS0tIEpnSmxyaGE5dW9xdGljdUdSQnhS
cmVlV3hDS2Q3YS9BOWJuMnJ2VVFreE0KORY7ACyeGjmtmkEHRVgCr/S1m2MQOOKn
Ki0po0z8U464LH9IE2qcaVCcSZO/Ane19/NYsEc6fvZKBttRdF6zTQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-03-02T18:27:48Z"
mac: ENC[AES256_GCM,data:ZdrLNhC+BUe7thdF7bc30Y18rcZJC/4XITJWGhJ2lZJH06zYMUnUaoTGu8PZz69wodCf9nwNFjFMUP63fCJMU8lU+5wygfqptJNtgfqD2av8l1WoaN3l2kMhQm6LpjudiYsSa+t4qXeSdMVBlxSE0Ie752UnX3or5rVXYNB+z20=,iv:BEAjK0Rflfu7ITCLVTahIaNS7bWSkvXmEWwoS34w+Wg=,tag:TxsS428UWsl+oEiFnxPunw==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.4

View file

@ -0,0 +1,7 @@
{
inputs,
system,
...
}: {
programs.command-not-found.dbPath = inputs.programsdb.packages.${system}.programs-sqlite;
}

View file

@ -1,35 +0,0 @@
{
lib,
pkgs,
...
}: {
services = {
resolved.enable = true;
openssh = {
enable = true;
ports = [22 48001];
settings = {
PasswordAuthentication = false;
};
};
udev.packages = [
pkgs.android-udev-rules
];
printing.enable = true;
libinput.enable = true;
pipewire = {
enable = lib.mkForce true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
audio.enable = true;
};
udisks2.enable = true;
};
}

View file

@ -0,0 +1,3 @@
{...}: {
services.libinput.enable = true;
}

View file

@ -0,0 +1,9 @@
{...}: {
services.openssh = {
enable = true;
ports = [22 48001];
settings = {
PasswordAuthentication = false;
};
};
}

View file

@ -1,9 +1,4 @@
{pkgs, ...}: {
environment.sessionVariables = {
EDITOR = "nvim";
FLAKE = "/home/tx0/nixos/";
};
environment.systemPackages = with pkgs; [
git
fish

View file

@ -0,0 +1,9 @@
{lib, ...}: {
services.pipewire = {
enable = lib.mkForce true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
audio.enable = true;
};
}

View file

@ -1,4 +1,4 @@
{
{...}: {
virtualisation.podman = {
enable = true;
dockerCompat = true;

View file

@ -0,0 +1,3 @@
{...}: {
services.resolved.enable = true;
}

View file

@ -0,0 +1,5 @@
{pkgs, ...}: {
services.udev.packages = [
pkgs.android-udev-rules
];
}

View file

@ -0,0 +1,3 @@
{...}: {
services.udisks2.enable = true;
}

View file

@ -0,0 +1,4 @@
{...}: {
time.timeZone = "Asia/Yekaterinburg";
i18n.defaultLocale = "en_US.UTF-8";
}

View file

@ -5,7 +5,10 @@
}: {
nix = {
package = pkgs.lix;
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
nixPath = [
"nixpkgs=${inputs.nixpkgs}"
"home-manager=${inputs.home-manager}"
];
settings = {
experimental-features = ["nix-command" "flakes"];

View file

@ -0,0 +1,13 @@
{system, ...}: {
system.stateVersion = "24.11";
nixpkgs = {
config = {
allowUnfree = true;
allowBroken = true;
allowAliases = true;
allowInsecure = true;
allowUnfreePredicate = _: true;
};
hostPlatform = system;
};
}

View file

@ -1,6 +1,4 @@
{pkgs, ...}: {
time.timeZone = "Asia/Yekaterinburg";
i18n.defaultLocale = "en_US.UTF-8";
users = {
defaultUserShell = pkgs.fish;
users."tx0" = {

9
hosts/earth/default.nix Normal file
View file

@ -0,0 +1,9 @@
{u, ...}: {
imports = u.umport {
path = ./.;
exclude = [
./default.nix
];
};
}

View file

@ -2,6 +2,7 @@
config,
lib,
modulesPath,
system,
...
}: {
imports = [
@ -40,30 +41,6 @@
options = ["compress=zstd" "subvol=@Home"];
};
# fileSystems."/mnt/arch" = {
# device = "/dev/disk/by-uuid/7c552892-f313-438d-91bd-b10fb8c06230";
# fsType = "btrfs";
# options = ["compress=zstd" "subvol=@"];
# };
# fileSystems."/mnt/arch/var/log" = {
# device = "/dev/disk/by-uuid/7c552892-f313-438d-91bd-b10fb8c06230";
# fsType = "btrfs";
# options = ["compress=zstd" "subvol=@log"];
# };
# fileSystems."/mnt/arch/var/cache/pacman/pkg" = {
# device = "/dev/disk/by-uuid/7c552892-f313-438d-91bd-b10fb8c06230";
# fsType = "btrfs";
# options = ["compress=zstd" "subvol=@pkg"];
# };
# fileSystems."/mnt/arch/home" = {
# device = "/dev/disk/by-uuid/7c552892-f313-438d-91bd-b10fb8c06230";
# fsType = "btrfs";
# options = ["compress=zstd" "subvol=@home"];
# };
swapDevices = [];
networking.useDHCP = lib.mkDefault true;
@ -76,6 +53,5 @@
services.xserver.videoDrivers = ["displaylink" "modesetting" "amdgpu"];
virtualisation.vmware.host.enable = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,6 +1,6 @@
{
networking = {
hostName = "nixos";
hostName = "earth";
networkmanager.enable = true;
dhcpcd.enable = true;
};

View file

@ -0,0 +1,2 @@
{...}: {
}

15
hosts/earth/vpn.nix Normal file
View file

@ -0,0 +1,15 @@
{pkgs, ...}: {
systemd.services.awg0 = {
enable = true;
description = "AmneziaWG Interface awg0";
after = ["network.target"];
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStart = "${pkgs.amneziawg-tools}/bin/awg-quick up /run/secrets.d/awg0.conf";
ExecStop = "${pkgs.amneziawg-tools}/bin/awg-quick down /run/secrets.d/awg0.conf";
Restart = "on-failure";
};
};
}

View file

@ -1,12 +0,0 @@
{inputs, ...}: {
system.stateVersion = "24.11";
imports = inputs.nypkgs.legacyPackages."x86_64-linux".lib.umport {
paths = [./. ../common];
exclude = [
./default.nix
# ./stylix/themes
# ./programs/niri.nix
];
};
}

View file

@ -1,14 +0,0 @@
{
pkgs,
config,
...
}: {
services.ollama = {
enable = true;
# acceleration = "rocm";
# environmentVariables = {
# HCC_AMDGPU_TARGET = "gfx1032"; # used to be necessary, but doesn't seem to anymore
# };
# rocmOverrideGfx = "10.3.1";
};
}

7
ulib/default.nix Normal file
View file

@ -0,0 +1,7 @@
{
inputs,
system,
...
}: {
umport = inputs.nypkgs.legacyPackages.${system}.lib.umport;
}

11
universe.nix Normal file
View file

@ -0,0 +1,11 @@
{
universe = {
programs = {
alacritty.enable = true;
};
de = {
hyprland.enable = true;
waybar.enable = true;
};
};
}

BIN
wallpapers.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB