new nixos dotfile layout

Signed-off-by: Michał Czyż <mike@c2yz.com>
This commit is contained in:
2024-11-04 13:21:48 +01:00
parent cbfbe20592
commit 720c05f9b0
119 changed files with 3895 additions and 4549 deletions

11
home/programs/btop.nix Normal file
View File

@@ -0,0 +1,11 @@
{
programs.btop = {
enable = true;
settings = {
update_ms = 1000;
rounded_corners = false;
proc_sorting = "memory";
shown_boxes = "proc cpu ";
};
};
}

122
home/programs/fastfetch.nix Normal file
View File

@@ -0,0 +1,122 @@
{
programs.fastfetch = {
enable = true;
settings = {
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
logo = {
type = "kitty";
height = 20;
padding = {
top = 0;
right = 2;
};
};
display = {
separator = " ";
};
modules = [
"break"
{
type = "os";
key = "OS ";
keyColor = "31";
format = "{2} {8}";
}
{
type = "kernel";
key = " ";
keyColor = "31";
format = "{2}";
}
{
type = "packages";
format = "{} (nixpkgs)";
key = " 󰏖 ";
keyColor = "31";
}
{
type = "shell";
key = " ";
keyColor = "31";
}
"break"
{
type = "wm";
key = "WM ";
keyColor = "32";
format = "{2}";
}
{
type = "wmtheme";
key = " 󰉼 ";
keyColor = "32";
}
{
type = "icons";
key = " 󰀻 ";
keyColor = "32";
}
{
type = "cursor";
key = " ";
keyColor = "32";
}
{
type = "terminal";
key = " ";
keyColor = "32";
}
{
type = "terminalfont";
key = " ";
keyColor = "32";
}
"break"
{
type = "host";
format = "{5} {1}";
key = "PC ";
keyColor = "33";
}
{
type = "cpu";
format = "AMD Ryzen 7 8845HS";
key = " ";
keyColor = "33";
}
{
type = "gpu";
format = "AMD Radeon 780M";
key = " 󰢮 ";
keyColor = "33";
}
{
type = "memory";
key = " ";
keyColor = "33";
}
{
type = "swap";
key = " 󰓡 ";
keyColor = "33";
}
{
type = "disk";
key = " 󰋊 ";
keyColor = "33";
}
{
type = "monitor";
key = " ";
keyColor = "33";
format = "{2}x{3} px";
}
];
};
};
}

41
home/programs/foot.nix Normal file
View File

@@ -0,0 +1,41 @@
{
programs.foot = {
enable = true;
settings = {
main = {
pad = "5x0";
dpi-aware = "yes";
};
mouse = {
hide-when-typing = "yes";
};
tweak = {
font-monospace-warn = "no";
};
colors = {
foreground = "cdd6f4";
background = "1e1e2e";
regular0 = "1e1e2e"; # black
regular1 = "f38ba8"; # red
regular2 = "a6e3a1"; # green
regular3 = "f9e2af"; # yellow
regular4 = "89b4fa"; # blue
regular5 = "cba6f7"; # magenta
regular6 = "94e2d5"; # cyan
regular7 = "cdd6f4"; # white
bright0 = "45475a"; # bright black
bright1 = "f38ba8"; # bright red
bright2 = "a6e3a1"; # bright green
bright3 = "f9e2af"; # bright yellow
bright4 = "89b4fa"; # bright blue
bright5 = "cba6f7"; # bright magenta
bright6 = "94e2d5"; # bright cyan
bright7 = "b4befe"; # bright white
};
};
};
}

View File

@@ -0,0 +1,26 @@
{
programs.freetube = {
enable = true;
settings = {
allowDashAv1Formats = true;
defaultQuality = "1080";
useSponsorBlock = true;
backendFallback = true;
autoplayPlaylists = false;
autoplayVideos = false;
expandSideBar = false;
hideLabelsSideBar = true;
checkForBlogPosts = false;
checkForUpdates = false;
mainColor = "CatppuccinMochaMauve";
secColor = "CatppuccinMochaPink";
baseTheme = "catppuccinMocha";
barColor = false;
};
};
}

13
home/programs/git.nix Normal file
View File

@@ -0,0 +1,13 @@
{
programs.git = {
enable = true;
userName = "Michał Czyż";
userEmail = "mike@c2yz.com";
extraConfig = {
init.defaultBranch = "main";
push.autoSetupRemote = true;
};
};
}

176
home/programs/helix.nix Normal file
View File

@@ -0,0 +1,176 @@
{ pkgs, ... }:
{
programs.helix = {
enable = true;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# languages Configuration
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
languages = {
language = [
{
name = "nix";
auto-format = true;
language-servers = [ "nixd" "nil" ];
formatter = {
command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt";
# command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
# command = "${pkgs.alejandra}/bin/alejandra";
};
}
{
name = "bash";
auto-format = true;
language-servers = [ "bash-language-server" ];
formatter = {
command = "${pkgs.shfmt}/bin/shfmt";
args = [ "-i" "2" "-ci" ];
};
}
{
name = "python";
auto-format = true;
language-servers = [ "pyright" ];
formatter = {
command = "${pkgs.black}/bin/black";
args = [ "--quiet" "-" ];
};
}
{
name = "rust";
auto-format = false;
file-types = [ "rs" ];
language-servers = [ "rust-analyzer" ];
formatter = { command = "${pkgs.rustfmt}/bin/rustfmt"; };
}
{
name = "zig";
auto-format = true;
language-servers = [ "zsl" ];
formatter = { command = "${pkgs.zig}/bin/zig"; };
}
{
name = "html";
auto-format = true;
language-servers = [ "vscode-langservers-extracted" ];
}
{
name = "javascript";
auto-format = true;
language-servers = [ "typescript-language-server" ];
}
];
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Language Server Protocol Configuration
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
language-servers = {
nil = { command = "${pkgs.nixd}/bin/nixd"; };
rust-analyzer = {
config = {
check = { command = "${pkgs.clippy}/bin/cargo-clippy"; };
# cargo.features = "all";
checkOnSave.command = "${pkgs.clippy}/bin/cargo-clippy";
completion.autoimport.enable = true;
};
};
typescript-language-server = {
command = "${pkgs.nodePackages_latest.typescript-language-server}/bin/typescript-language-server";
args = [ "--stdio" ];
};
};
};
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Needed Packages
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
extraPackages = with pkgs; [
# DEBUG
lldb_18
# lldb-vscode :
# c
# cpp
# = < NIX > =
# = Language Server Protocol =
nil
nixd
# = DAP =
# = Formatter =
# nixfmt
nixfmt-rfc-style
# alejandra
# = < Bash > =
# = Language Server Protocol =
nodePackages.bash-language-server
# = DAP =
# = Formatter =
shfmt
# = < Python > =
# = Language Server Protocol =
pyright
# = DAP =
# = Formatter =
black
# = < Rust > =
# = Language Server Protocol =
rust-analyzer
# = DAP =
lldb
# = Formatter =
# rust-fmt
clippy # Good place ?
# = < lua > =
# = Language Server Protocol =
lua-language-server
# = DAP =
# = Formatter =
# = < Zig > =
# = Language Server Protocol =
zls
# = DAP =
# lldb (commented because already called)
# = Formatter =
zig
# = < HTML > =
# = Language Server Protocol =
# vscode-html-language-server
vscode-langservers-extracted
# = DAP =
# = Formatter =
# = < CSS > =
# = Language Server Protocol =
nodePackages_latest.typescript-language-server
# = DAP =
# = Formatter =
# = Language Server Protocol =
docker-compose-language-service
dockerfile-language-server-nodejs
yaml-language-server
ansible-language-server
];
};
}

13
home/programs/kitty.nix Normal file
View File

@@ -0,0 +1,13 @@
{
programs.kitty = {
enable = true;
settings = {
confirm_os_window_close = 0;
window_padding_width = 10;
scrollback_lines = 10000;
enable_audio_bell = false;
mouse_hide_wait = 60;
};
};
}

View File

@@ -0,0 +1,10 @@
{
programs.librewolf = {
enable = true;
settings = {
"browser.sessionstore.resume_from_crash" = false;
"DisableSystemAddonUpdate" = true;
"DisableSetDesktopBackground" = true;
};
};
}

View File

@@ -0,0 +1,37 @@
{ pkgs, inputs, ... }:
{
home.packages = with pkgs; [
# DEV
python3
# MEDIA
mpv
imv
pwvucontrol
# CONNECTIONS
overskride
protonvpn-cli_2
networkmanagerapplet
# APPS
floorp
spotube
vesktop
nautilus
keepassxc
whatsapp-for-linux
libreoffice
qalculate-gtk
# Utilities
ventoy-full
file-roller
vim
firefox
rofi
nixfmt
nemo
neovim
];
}

View File

@@ -0,0 +1,62 @@
{
programs.qutebrowser = {
enable = false;
searchEngines = {
"DEFAULT" = "https://priv.au/search?q={}";
"d" = "https://duckduckgo.com/?q={}&ia=web";
"n" = "https://mynixos.com/search?q={}";
"nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
"nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
"gt" = "https://github.com/search?q={}&type=repositories";
};
quickmarks = {
nwiki = "https://wiki.nixos.org/wiki/NixOS_Wiki";
nflake = "https://nixos-and-flakes.thiscute.world/introduction/";
nixy = "https://github.com/anotherhadi/nixy?tab=readme-ov-file";
nca = "https://github.com/nix-community/awesome-nix";
nc = "https://github.com/nix-community";
yb = "https://youatb.unibocconi.it/";
bk = "https://blackboard.unibocconi.it/ultra/stream";
pz = "https://piazza.com/class/m0nl57y6g4z1wh";
om = "https://outlook.office.com/mail/";
pm = "https://mail.proton.me/u/0/inbox";
tm = "https://app.tuta.com/mail/";
mai = "https://chat.mistral.ai/chat";
cai = "https://claude.ai/new";
chess = "https://www.chess.com/home";
lichess = "https://lichess.org/";
git = "https://github.com/dashboard";
berg = "https://codeberg.org/PyNEL/Dotfiles";
box = "http://192.168.1.254/#";
};
settings = {
content = {
autoplay = false;
javascript.clipboard = "access";
prefers_reduced_motion = true;
cookies.accept = "no-3rdparty";
pdfjs = true;
};
qt = {
highdpi = true;
};
scrolling = {
bar = "never";
smooth = true;
};
};
};
}

58
home/programs/shell.nix Normal file
View File

@@ -0,0 +1,58 @@
{
programs = {
zoxide.enable = true;
eza = {
enable = true;
icons = "auto";
extraOptions = [
"--group-directories-first"
"--header"
"--icons"
];
};
starship = {
enable = true;
settings = {
add_newline = true;
};
};
zellij = {
enable = true;
settings = {
ui = {
pane_frames.hide_session_name = true;
pane_borderless = true;
};
};
};
bash = {
enable = true;
enableCompletion = true;
shellAliases = {
fetch = "fastfetch";
rebuild = "nh os switch";
update = "nh os switch --update";
garbage = "nh clean all && sudo bootctl cleanup ";
hxd = "hx ~/.files/";
hxc = "hx ~/code/";
ls = "eza";
la = "eza -a";
ll = "eza -l";
lr = "eza -R";
tree = "eza -T";
".." = "cd ..";
grep = "grep --color=auto";
startupctl = "systemctl list-unit-files --type=service | grep enabled";
};
};
};
}

View File

@@ -0,0 +1,18 @@
{
inputs,
pkgs,
...
}: {
imports = [inputs.spicetify-nix.homeManagerModules.default];
programs.spicetify = {
enable = true;
#theme = spicePkgs.themes.catppuccin;
#colorScheme = "mocha";
enabledExtensions = with inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [
fullAppDisplay
shuffle
hidePodcasts
];
};
}

58
home/programs/vscode.nix Normal file
View File

@@ -0,0 +1,58 @@
{ pkgs, ... }:
{
programs.vscode = {
enable = true;
extensions = with pkgs.vscode-extensions; [
ms-python.python
ms-python.debugpy
jnoortheen.nix-ide
mvllow.rose-pine
];
userSettings = {
"editor.fontSize" = 18;
"explorer.confirmDelete" = false;
"explorer.confirmDragAndDrop" = true;
"git.openRepositoryInParentFolders" = "never";
"[python]" = {
"editor.defaultFormatter" = "ms-python.black-formatter";
"editor.formatOnSave" = true;
};
"nix.enableLanguageServer" = true;
"nix.serverPath" = "${pkgs.nixd}/bin/nixd";
"nix.serverSettings" = {
"nixd" = {
"formatting" = {
"command" = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ];
};
"nixpkgs" = {
"expr" = "import <nixpkgs> { }";
"options" = {
"nixos" = {
"expr" = "(builtins.getFlake \"/home/mike/.files\").nixosConfigurations.zion.options";
};
};
};
};
};
"editor.formatOnSave" = true;
"editor.fontLigatures" = true;
"editor.formatOnPaste" = true;
"editor.minimap.enabled" = false;
"symbols.hidesExplorerArrows" = false;
"workbench.iconTheme" = "vs-minimal";
"workbench.colorTheme" = "Rose Pine";
"workbench.preferredDarkColorTheme" = "Rose Pine";
"workbench.preferredHighContrastColorTheme" = "Rose Pine";
};
};
}

View File

@@ -0,0 +1,60 @@
{ pkgs, ... }:
{
programs.vscode = {
enable = true;
package = pkgs.vscodium;
extensions = with pkgs.vscode-extensions; [
ms-python.python
ms-python.debugpy
jnoortheen.nix-ide
catppuccin.catppuccin-vsc
];
userSettings = {
"editor.fontSize" = 18;
"explorer.confirmDelete" = false;
"explorer.confirmDragAndDrop" = true;
"git.openRepositoryInParentFolders" = "never";
"[python]" = {
"editor.defaultFormatter" = "ms-python.black-formatter";
"editor.formatOnSave" = true;
};
"nix.enableLanguageServer" = true;
"nix.serverPath" = "${pkgs.nixd}/bin/nixd";
"nix.serverSettings" = {
"nixd" = {
"formatting" = {
"command" = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ];
};
"nixpkgs" = {
"expr" = "import <nixpkgs> { }";
"options" = {
"nixos" = {
"expr" = "(builtins.getFlake \"/home/nel/Dotfiles\").nixosConfigurations.laptop.options";
};
};
};
};
};
"editor.formatOnSave" = true;
"editor.fontLigatures" = true;
"editor.formatOnPaste" = true;
"editor.minimap.enabled" = false;
"symbols.hidesExplorerArrows" = false;
"catppuccin.accentColor" = "blue";
"workbench.iconTheme" = "vs-minimal";
"workbench.colorTheme" = "Catppuccin Mocha";
"workbench.preferredDarkColorTheme" = "Catppuccin Mocha";
"workbench.preferredHighContrastColorTheme" = "Catppuccin Mocha";
};
};
}

12
home/programs/yazi.nix Normal file
View File

@@ -0,0 +1,12 @@
{
programs.yazi = {
enable = true;
settings = {
manager = {
sort_by = "alphabetical";
show_hidden = true;
show_symlink = true;
};
};
};
}

14
home/programs/zathura.nix Normal file
View File

@@ -0,0 +1,14 @@
# Zathura is a PDF viewer
{
programs.zathura = {
enable = true;
options = {
guioptions = "v";
adjust-open = "width";
statusbar-basename = true;
render-loading = false;
scroll-step = 120;
};
};
}