refactor in style of synaptic standard
This commit is contained in:
parent
ce295da1c1
commit
21c7f1a73e
119 changed files with 1098 additions and 3058 deletions
25
base/cli.nix
Normal file
25
base/cli.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment.systemPackages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
curl
|
||||
eza
|
||||
git
|
||||
;
|
||||
};
|
||||
hm.home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
btop
|
||||
bat
|
||||
ripgrep
|
||||
fd
|
||||
lazygit
|
||||
zoxide
|
||||
zellij
|
||||
ouch
|
||||
;
|
||||
};
|
||||
}
|
13
base/debloat.nix
Normal file
13
base/debloat.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
|
||||
# misc perl
|
||||
system.disableInstallerTools = true;
|
||||
programs.less.lessopen = null;
|
||||
programs.command-not-found.enable = false;
|
||||
boot.enableContainers = false;
|
||||
boot.loader.grub.enable = false;
|
||||
environment.defaultPackages = lib.mkDefault [ ];
|
||||
documentation.info.enable = false;
|
||||
system.tools.nixos-option.enable = false;
|
||||
}
|
13
base/docs.nix
Normal file
13
base/docs.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
man-pages
|
||||
man-pages-posix
|
||||
;
|
||||
};
|
||||
|
||||
documentation.dev.enable = true;
|
||||
documentation.man.enable = true;
|
||||
documentation.enable = true;
|
||||
}
|
253
base/helix.nix
Normal file
253
base/helix.nix
Normal file
|
@ -0,0 +1,253 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
rice,
|
||||
...
|
||||
}:
|
||||
let
|
||||
pal = rice.palette.hex;
|
||||
in
|
||||
{
|
||||
hm.programs.helix = {
|
||||
enable = true;
|
||||
package = inputs.helix.packages.${pkgs.system}.helix;
|
||||
themes = with pal; {
|
||||
nix-rice = {
|
||||
"attribute" = bright.cyan;
|
||||
"keyword" = {
|
||||
fg = normal.red;
|
||||
};
|
||||
"keyword.directive" = normal.red;
|
||||
"namespace" = bright.cyan;
|
||||
"punctuation" = bright.yellow;
|
||||
"punctuation.delimiter" = bright.yellow;
|
||||
"operator" = bright.magenta;
|
||||
"special" = normal.magenta;
|
||||
"variable.other.member" = bright.blue;
|
||||
"variable" = util.fg;
|
||||
"variable.builtin" = bright.yellow;
|
||||
"variable.parameter" = bright.white;
|
||||
"type" = normal.yellow;
|
||||
"type.builtin" = normal.yellow;
|
||||
"constructor" = {
|
||||
fg = bright.magenta;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"function" = {
|
||||
fg = normal.green;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"function.macro" = bright.cyan;
|
||||
"function.builtin" = normal.yellow;
|
||||
"tag" = normal.red;
|
||||
"comment" = {
|
||||
fg = normal.magenta;
|
||||
modifiers = [ "italic" ];
|
||||
};
|
||||
"constant" = {
|
||||
fg = bright.magenta;
|
||||
};
|
||||
"constant.builtin" = {
|
||||
fg = bright.magenta;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"string" = normal.green;
|
||||
"constant.numeric" = bright.magenta;
|
||||
"constant.character.escape" = {
|
||||
fg = bright.white;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"label" = bright.cyan;
|
||||
"module" = bright.cyan;
|
||||
"diff.plus" = bright.green;
|
||||
"diff.delta" = bright.yellow;
|
||||
"diff.minus" = bright.red;
|
||||
"warning" = bright.yellow;
|
||||
"error" = bright.red;
|
||||
"info" = bright.cyan;
|
||||
"hint" = bright.blue;
|
||||
"ui.background" = {
|
||||
inherit (util) bg;
|
||||
};
|
||||
"ui.linenr" = {
|
||||
fg = normal.cyan;
|
||||
};
|
||||
"ui.linenr.selected" = {
|
||||
fg = normal.yellow;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"ui.cursorline" = {
|
||||
bg = normal.black;
|
||||
};
|
||||
"ui.statusline" = {
|
||||
inherit (util) fg;
|
||||
bg = bright.black;
|
||||
};
|
||||
"ui.statusline.normal" = {
|
||||
inherit (util) fg;
|
||||
bg = bright.black;
|
||||
};
|
||||
"ui.statusline.insert" = {
|
||||
inherit (util) fg;
|
||||
bg = normal.blue;
|
||||
};
|
||||
"ui.statusline.select" = {
|
||||
inherit (util) fg;
|
||||
bg = bright.yellow;
|
||||
};
|
||||
"ui.statusline.inactive" = {
|
||||
fg = normal.white;
|
||||
bg = normal.black;
|
||||
};
|
||||
"ui.popup" = {
|
||||
bg = normal.black;
|
||||
};
|
||||
"ui.window" = {
|
||||
bg = normal.black;
|
||||
};
|
||||
"ui.help" = {
|
||||
bg = normal.black;
|
||||
inherit (util) fg;
|
||||
};
|
||||
"ui.text" = {
|
||||
inherit (util) fg;
|
||||
};
|
||||
"ui.text.focus" = {
|
||||
inherit (util) fg;
|
||||
};
|
||||
"ui.selection" = {
|
||||
# modifiers = ["reversed"];
|
||||
bg = bright.yellow;
|
||||
};
|
||||
"ui.selection.primary" = {
|
||||
modifiers = [ "reversed" ];
|
||||
};
|
||||
# "ui.selection.primary" = { bg = bright.cyan; };
|
||||
"ui.cursor.primary" = {
|
||||
bg = normal.white;
|
||||
fg = normal.black;
|
||||
};
|
||||
"ui.cursor.match" = {
|
||||
bg = bright.cyan;
|
||||
};
|
||||
"ui.menu" = {
|
||||
inherit (util) fg;
|
||||
bg = bright.black;
|
||||
};
|
||||
"ui.menu.selected" = {
|
||||
fg = bright.black;
|
||||
bg = bright.blue;
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"ui.virtual.whitespace" = bright.black;
|
||||
"ui.virtual.ruler" = {
|
||||
bg = normal.black;
|
||||
};
|
||||
"ui.virtual.inlay-hint" = {
|
||||
fg = normal.magenta;
|
||||
};
|
||||
"diagnostic.warning" = {
|
||||
underline = {
|
||||
color = bright.yellow;
|
||||
style = "curl";
|
||||
};
|
||||
};
|
||||
"diagnostic.error" = {
|
||||
underline = {
|
||||
color = bright.red;
|
||||
style = "curl";
|
||||
};
|
||||
};
|
||||
"diagnostic.info" = {
|
||||
underline = {
|
||||
color = bright.cyan;
|
||||
style = "curl";
|
||||
};
|
||||
};
|
||||
"diagnostic.hint" = {
|
||||
underline = {
|
||||
color = bright.blue;
|
||||
style = "curl";
|
||||
};
|
||||
};
|
||||
"markup.heading" = bright.cyan;
|
||||
"markup.bold" = {
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"markup.italic" = {
|
||||
modifiers = [ "italic" ];
|
||||
};
|
||||
"markup.strikethrough" = {
|
||||
modifiers = [ "crossed_out" ];
|
||||
};
|
||||
"markup.link.url" = {
|
||||
fg = bright.green;
|
||||
modifiers = [ "underlined" ];
|
||||
};
|
||||
"markup.link.text" = bright.red;
|
||||
"markup.raw" = bright.red;
|
||||
};
|
||||
};
|
||||
|
||||
# theme = "nix-rice"
|
||||
|
||||
settings = {
|
||||
theme = "nix-rice";
|
||||
editor = {
|
||||
bufferline = "multiple";
|
||||
cursorline = true;
|
||||
true-color = true;
|
||||
cursor-shape = {
|
||||
insert = "bar";
|
||||
normal = "block";
|
||||
select = "underline";
|
||||
};
|
||||
statusline.left = [
|
||||
"mode"
|
||||
"spinner"
|
||||
"version-control"
|
||||
"file-name"
|
||||
"file-modification-indicator"
|
||||
];
|
||||
lsp.display-messages = true;
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
name = "rust";
|
||||
language-servers = [ "rust-analyzer" ];
|
||||
}
|
||||
{
|
||||
name = "nix";
|
||||
language-servers = [ "nil" ];
|
||||
file-types = [ "nix" ];
|
||||
auto-format = true;
|
||||
formatter = {
|
||||
command = "nixfmt";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
language-server = {
|
||||
qmlls = {
|
||||
command = "qmlls";
|
||||
args = [ "-E" ];
|
||||
};
|
||||
|
||||
nil = {
|
||||
command = "nil";
|
||||
};
|
||||
|
||||
rust-analyzer = {
|
||||
config = {
|
||||
cargo.buildScripts.enable = true;
|
||||
procMacro.enable = true;
|
||||
check.command = "clippy";
|
||||
};
|
||||
};
|
||||
}; # language-server
|
||||
}; # languages
|
||||
}; # helix config
|
||||
}
|
4
base/network.nix
Normal file
4
base/network.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
}
|
27
base/nix/gc.nix
Normal file
27
base/nix/gc.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.angrr.nixosModules.angrr
|
||||
];
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
persistent = true;
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
|
||||
hm.nix.gc = {
|
||||
automatic = true;
|
||||
frequency = "weekly";
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
|
||||
services.angrr = {
|
||||
enable = true;
|
||||
enableNixGcIntegration = true;
|
||||
period = "2weeks";
|
||||
package = inputs.angrr.packages.${pkgs.system}.default;
|
||||
};
|
||||
|
||||
}
|
19
base/nix/managers.nix
Normal file
19
base/nix/managers.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ mainUser, ... }:
|
||||
{
|
||||
programs.meat = {
|
||||
enable = true;
|
||||
flake = "/home/${mainUser}/.nix";
|
||||
};
|
||||
|
||||
# services.smooooth = {
|
||||
# enable = true;
|
||||
# path = "/home/${mainUser}/.nix";
|
||||
# blockers = [
|
||||
# "hx"
|
||||
# {
|
||||
# nix = "die";
|
||||
# }
|
||||
# ];
|
||||
# nixPackage = pkgs.lix;
|
||||
# };
|
||||
}
|
10
base/nix/meat.nix
Normal file
10
base/nix/meat.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ inputs, mainUser, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.meat.nixosModules.meat
|
||||
];
|
||||
programs.meat = {
|
||||
enable = true;
|
||||
flake = "/home/${mainUser}/.nix";
|
||||
};
|
||||
}
|
9
base/nix/nixpkgs.nix
Normal file
9
base/nix/nixpkgs.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ ... }:
|
||||
{
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
};
|
||||
}
|
26
base/nix/settings.nix
Normal file
26
base/nix/settings.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{ inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.lix-module.nixosModules.default
|
||||
];
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
"pipe-operator"
|
||||
];
|
||||
substitute = true;
|
||||
};
|
||||
extraOptions = ''
|
||||
keep-outputs = true
|
||||
keep-derivations = true
|
||||
'';
|
||||
optimise.automatic = true;
|
||||
};
|
||||
|
||||
system.nixos.tags = [ "fatcock-xxl" ];
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
}
|
23
base/nix/substituters.nix
Normal file
23
base/nix/substituters.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://cache.nixos.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://helix.cachix.org"
|
||||
"https://walker-git.cachix.org"
|
||||
"https://anmonteiro.nix-cache.workers.dev"
|
||||
"https://cache.atagen.co"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
|
||||
"walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM="
|
||||
"ocaml.nix-cache.com-1:/xI2h2+56rwFfKyyFVbkJSeGqSIYMC/Je+7XXqGKDIY="
|
||||
"cache.atagen.co:SOUkNQxuu/eQ7FcI8nlUe7FpV27e7YjQlDQdn8HTUnw="
|
||||
];
|
||||
};
|
||||
}
|
21
base/nix/tools.nix
Normal file
21
base/nix/tools.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
|
||||
environment.systemPackages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
home-manager
|
||||
cachix
|
||||
nixfmt-rfc-style
|
||||
;
|
||||
inherit (inputs.nil.packages.${pkgs.system}) nil;
|
||||
};
|
||||
hm.imports = [
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
];
|
||||
imports = [
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
];
|
||||
programs.nix-index-database.comma.enable = true;
|
||||
programs.nix-index.enableZshIntegration = false;
|
||||
programs.nix-index.enableBashIntegration = false;
|
||||
}
|
6
base/systemd.nix
Normal file
6
base/systemd.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ ... }:
|
||||
{
|
||||
systemd.services."user@".serviceConfig.Delegate = "memory pids cpu cpuset";
|
||||
systemd.user.extraConfig = "LogLevel=debug";
|
||||
hm.systemd.user.startServices = "sd-switch";
|
||||
}
|
71
base/terminal.nix
Normal file
71
base/terminal.nix
Normal file
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
pkgs,
|
||||
rice,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (pkgs) fish;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.culr.nixosModules.culr
|
||||
];
|
||||
programs.culr = {
|
||||
enable = true;
|
||||
pattern = "rainbow-split";
|
||||
};
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
};
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
environment.systemPackages = [
|
||||
fish
|
||||
];
|
||||
environment.shells = [ fish ];
|
||||
users.defaultUserShell = fish;
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
};
|
||||
|
||||
environment.sessionVariables = {
|
||||
EDITOR = "hx";
|
||||
};
|
||||
|
||||
hm.programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
inherit (rice.fonts.monospace) name size;
|
||||
};
|
||||
settings = with rice.palette.hex; {
|
||||
foreground = util.fg;
|
||||
background = util.bg;
|
||||
inherit (util) cursor;
|
||||
cursor_text = util.bg;
|
||||
selection_foreground = util.fg_sel;
|
||||
selection_background = util.bg_sel;
|
||||
color0 = normal.black;
|
||||
color1 = normal.red;
|
||||
color2 = normal.green;
|
||||
color3 = normal.yellow;
|
||||
color4 = normal.blue;
|
||||
color5 = normal.magenta;
|
||||
color6 = normal.cyan;
|
||||
color7 = normal.white;
|
||||
color8 = bright.black;
|
||||
color9 = bright.red;
|
||||
color10 = bright.green;
|
||||
color11 = bright.yellow;
|
||||
color12 = bright.blue;
|
||||
color13 = bright.magenta;
|
||||
color14 = bright.cyan;
|
||||
color15 = bright.white;
|
||||
sync_to_monitor = "yes";
|
||||
shell = "fish";
|
||||
cursor_trail = 100;
|
||||
};
|
||||
};
|
||||
}
|
16
base/users.nix
Normal file
16
base/users.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ lib, mainUser, ... }:
|
||||
{
|
||||
services.userborn.enable = lib.mkDefault true;
|
||||
nix.settings.trusted-users = [ mainUser ];
|
||||
users.users.${mainUser} = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
|
||||
hm.config.home = {
|
||||
username = mainUser;
|
||||
homeDirectory = "/home/${mainUser}";
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue