Initial commit

This commit is contained in:
Aleksandr 2024-12-17 00:22:23 +03:00
commit 1518f7007b
39 changed files with 1779 additions and 0 deletions

18
m/home/default.nix Normal file
View file

@ -0,0 +1,18 @@
{ inputs, config, lib, ... }:
let
hm = config.maid.hm;
masters = config.maid.masters;
in
{
options.maid.hm = {
enable = lib.mkEnableOption "home-manager";
};
config.home-manager = lib.mkIf hm.enable {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = { inherit inputs; };
users.nero = lib.mkIf masters.nero.enable (import ./nero);
};
}

28
m/home/helix/default.nix Normal file
View file

@ -0,0 +1,28 @@
{ pkgs, ... }:
let
sonokai = import themes/sonokai;
langs = (import ./langs) pkgs;
in
{
programs.helix = {
enable = true;
settings = {
theme = "sonokai-andromeda";
editor.cursor-shape = {
normal = "block";
insert = "bar";
select = "underline";
};
};
languages = {
language-server.rust-analyzer.config = {
rust.analyzerTargetDir = true;
};
};
themes = {
sonokai-andromeda = sonokai "andromeda";
};
};
}

View file

@ -0,0 +1,15 @@
{ pkgs, ... }:
rec {
use = name: (import ./${"${name}.nix"}) pkgs;
combine = lhs: rhs: {
lsp = (lhs.lsp or {}) // (rhs.lsp or {});
entries = (lhs.entries or []) ++ (rhs.entries or []);
};
intoHelixFormat = cfg: {
language-server = cfg.lsp;
language = cfg.entries;
};
useMany = langs: builtins.foldl' combine {} (map use langs);
}

View file

@ -0,0 +1,15 @@
{ pkgs, ... }:
{
lsp.nixd = {
command = "${pkgs.nixd}/bin/nixd";
};
entries = [{
name = "Nix";
scope = "source.nix";
injection-regex = "nix";
file-types = ["nix"];
comment-tokens = "#";
indent = { tab-width = 2; unit = " "; };
language-servers = [ "nixd" ];
}];
}

2
m/home/helix/nigger.toml Normal file
View file

@ -0,0 +1,2 @@
[a]
b = 10

View file

@ -0,0 +1,179 @@
palette:
{
"attribute" = "purple";
"comment" = "grey";
"constant" = "purple";
"constant.character.escape" = "orange";
"constant.numeric" = "purple";
"constructor" = "blue";
"diagnostic" = { "underlined" = { "style" = "line"; }; };
"diagnostic.error" = {
"underline" = {
"color" = "red";
"style" = "curl";
};
};
"diagnostic.hint" = {
"underline" = {
"color" = "blue";
"style" = "dotted";
};
};
"diagnostic.info" = {
"underline" = {
"color" = "green";
"style" = "dotted";
};
};
"diagnostic.warning" = {
"underline" = {
"color" = "yellow";
"style" = "curl";
};
};
"diff.delta" = "orange";
"diff.minus" = "red";
"diff.plus" = "green";
"error" = "red";
"function" = "green";
"function.builtin" = "blue";
"function.macro" = "purple";
"hint" = "blue";
"info" = "green";
"keyword" = "red";
"keyword.directive" = "purple";
"label" = "orange";
"markup.bold" = { "modifiers" = [ "bold" ]; };
"markup.heading.1" = {
"fg" = "red";
"modifiers" = [ "bold" ];
};
"markup.heading.2" = {
"fg" = "orange";
"modifiers" = [ "bold" ];
};
"markup.heading.3" = {
"fg" = "yellow";
"modifiers" = [ "bold" ];
};
"markup.heading.4" = {
"fg" = "green";
"modifiers" = [ "bold" ];
};
"markup.heading.5" = {
"fg" = "blue";
"modifiers" = [ "bold" ];
};
"markup.heading.6" = {
"fg" = "fg";
"modifiers" = [ "bold" ];
};
"markup.heading.marker" = "grey";
"markup.italic" = { "modifiers" = [ "italic" ]; };
"markup.link.text" = "purple";
"markup.link.url" = {
"fg" = "blue";
"modifiers" = [ "underlined" ];
};
"markup.list" = "red";
"markup.quote" = "grey";
"markup.raw" = "green";
"module" = "blue";
"namespace" = "blue";
"operator" = "orange";
"punctuation" = "grey";
"punctuation.bracket" = "fg";
"punctuation.delimiter" = "grey";
"special" = "orange";
"string" = "yellow";
"string.regexp" = "orange";
"tag" = "yellow";
"type" = "blue";
"ui.background" = { "bg" = "bg0"; };
"ui.background.separator" = "grey";
"ui.bufferline" = {
"bg" = "bg1";
"fg" = "grey";
};
"ui.bufferline.active" = {
"bg" = "bg4";
"fg" = "fg";
"modifiers" = [ "bold" ];
};
"ui.cursor" = {
"bg" = "fg";
"fg" = "bg0";
};
"ui.cursor.insert" = {
"bg" = "grey";
"fg" = "black";
};
"ui.cursor.match" = {
"bg" = "diff_yellow";
"fg" = "orange";
};
"ui.cursor.select" = {
"bg" = "blue";
"fg" = "bg0";
};
"ui.cursorline.primary" = { "bg" = "bg1"; };
"ui.cursorline.secondary" = { "bg" = "bg1"; };
"ui.help" = {
"bg" = "bg2";
"fg" = "fg";
};
"ui.linenr" = "grey";
"ui.linenr.selected" = "fg";
"ui.menu" = {
"bg" = "bg3";
"fg" = "fg";
};
"ui.menu.selected" = {
"bg" = "green";
"fg" = "bg0";
};
"ui.popup" = {
"bg" = "bg2";
"fg" = "grey";
};
"ui.selection" = { "bg" = "bg4"; };
"ui.statusline" = {
"bg" = "bg3";
"fg" = "fg";
};
"ui.statusline.inactive" = {
"bg" = "bg1";
"fg" = "grey";
};
"ui.statusline.insert" = {
"bg" = "yellow";
"fg" = "bg0";
"modifiers" = [ "bold" ];
};
"ui.statusline.normal" = {
"bg" = "fg";
"fg" = "bg0";
"modifiers" = [ "bold" ];
};
"ui.statusline.select" = {
"bg" = "blue";
"fg" = "bg0";
"modifiers" = [ "bold" ];
};
"ui.text" = "fg";
"ui.text.focus" = "green";
"ui.virtual.indent-guide" = { "fg" = "bg4"; };
"ui.virtual.ruler" = { "bg" = "bg2"; };
"ui.virtual.whitespace" = { "fg" = "bg4"; };
"ui.window" = {
"bg" = "bg0";
"fg" = "grey";
};
"variable" = "fg";
"variable.builtin" = "orange";
"variable.other.member" = "fg";
"variable.parameter" = "fg";
"warning" = "yellow";
palette = import (./. + "/palettes/${palette}.nix");
}

View file

@ -0,0 +1,25 @@
{
black = "#181a1c";
bg0 = "#2b2d3a";
bg1 = "#333648";
bg2 = "#363a4e";
bg3 = "#393e53";
bg4 = "#3f445b";
bg_red = "#ff6188";
diff_red = "#55393d";
bg_green = "#a9dc76";
diff_green = "#394634";
bg_blue = "#77d5f0";
diff_blue = "#354157";
diff_yellow = "#4e432f";
fg = "#e1e3e4";
red = "#fb617e";
orange = "#f89860";
yellow = "#edc763";
green = "#9ed06c";
cyan = "#ef9062"; # added for compatibility with `edge` scheme
blue = "#6dcae8";
purple = "#bb97ee";
grey = "#7e8294";
grey_dim = "#5a5e7a";
}

81
m/home/nero/default.nix Normal file
View file

@ -0,0 +1,81 @@
{ config, inputs, pkgs, ... }:
{
programs.direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
programs.bash = {
enable = true;
bashrcExtra = ''
eval "$(direnv hook bash)"
'';
};
programs.wezterm = {
package = inputs.wezterm.packages.${pkgs.system}.default;
enable = true;
enableBashIntegration = true;
extraConfig = ''
return {
enable_wayland = true
}
'';
};
home.username = "nero";
home.homeDirectory = "/home/nero";
home.stateVersion = "25.05";
home.file = {
".terraformrc".text = ''
provider_installation {
network_mirror {
url = "https://terraform-mirror.yandexcloud.net/"
include = ["registry.terraform.io/*/*"]
}
direct {
exclude = ["registry.terraform.io/*/*"]
}
}
'';
".cargo/config.toml" = {
text = ''
[net]
git-fetch-with-cli = true
[target.x86_64-unknown-linux-gnu]
linker = "${pkgs.clang}/bin/clang"
rustflags = ["-C", "link-arg=--ld-path=${pkgs.mold}/bin/mold"]
'';
};
};
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
gtk-theme = "Adwaita-dark";
};
};
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
configPackages = with pkgs; [ xdg-desktop-portal-gtk ];
};
qt = {
enable = true;
platformTheme.name = "Adwaita-dark";
style = {
name = "Adwaita-dark";
package = pkgs.adwaita-qt;
};
};
}