mirror of
https://git.gay/xqtc/nixos-config
synced 2024-11-25 00:43:56 +01:00
MEGA COMMIT OF THE CENTURY
This commit is contained in:
parent
0f917ffd3e
commit
752ad7a64f
66
flake.lock
66
flake.lock
|
@ -7,11 +7,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1707602717,
|
||||
"narHash": "sha256-mLEziZaYS1G9Q2l7L1/HU+PyScfBGwgh1R4Mov7x5iY=",
|
||||
"lastModified": 1707816110,
|
||||
"narHash": "sha256-pyEubQVR0ccPcTyOytpH9WjF6NB+Vvnzon1y9eZVXzM=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "8e23ca5dcbcd202ceb790598b38a68d7d292ef38",
|
||||
"rev": "0baeda8baf7638873038057945f8c6a5e77927cb",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
|
@ -24,11 +24,11 @@
|
|||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -96,11 +96,11 @@
|
|||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -118,11 +118,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660459072,
|
||||
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
|
||||
"lastModified": 1703887061,
|
||||
"narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
|
||||
"rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -138,11 +138,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707607386,
|
||||
"narHash": "sha256-hj/RgQMTvCWQVInkZwiMMieumkfOjHXhtWhfuXHop/8=",
|
||||
"lastModified": 1707683400,
|
||||
"narHash": "sha256-Zc+J3UO1Xpx+NL8UB6woPHyttEy9cXXtm+0uWwzuYDc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "bfd0ae29a86eff4603098683b516c67e22184511",
|
||||
"rev": "21b078306a2ab68748abf72650db313d646cf2ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -160,11 +160,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707607386,
|
||||
"narHash": "sha256-hj/RgQMTvCWQVInkZwiMMieumkfOjHXhtWhfuXHop/8=",
|
||||
"lastModified": 1707467182,
|
||||
"narHash": "sha256-/Bw/xgCXfj4nXDd8Xq+r1kaorfsYkkomMf5w5MpsDyA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "bfd0ae29a86eff4603098683b516c67e22184511",
|
||||
"rev": "5b9156fa9a8b8beba917b8f9adbfd27bf63e16af",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -196,11 +196,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1707211557,
|
||||
"narHash": "sha256-LTKTzZ6fM5j8XWXf51IMBzDaOaJg9kYWLUZxoIhzRN8=",
|
||||
"lastModified": 1707842204,
|
||||
"narHash": "sha256-M+HAq1qWQBi/gywaMZwX0odU+Qb/XeqVeANGKRBDOwU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "6e5cc385fc8cf5ca6495d70243074ccdea9f64c7",
|
||||
"rev": "f1b2f71c86a5b1941d20608db0b1e88a07d31303",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -228,11 +228,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1707268954,
|
||||
"narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=",
|
||||
"lastModified": 1707689078,
|
||||
"narHash": "sha256-UUGmRa84ZJHpGZ1WZEBEUOzaPOWG8LZ0yPg1pdDF/yM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
|
||||
"rev": "f9d39fb9aff0efee4a3d5f4a6d7c17701d38a1d8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -244,11 +244,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1707268954,
|
||||
"narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=",
|
||||
"lastModified": 1707689078,
|
||||
"narHash": "sha256-UUGmRa84ZJHpGZ1WZEBEUOzaPOWG8LZ0yPg1pdDF/yM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
|
||||
"rev": "f9d39fb9aff0efee4a3d5f4a6d7c17701d38a1d8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -269,11 +269,11 @@
|
|||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707595282,
|
||||
"narHash": "sha256-F96hGG5ZCJiwZFBvlUrW8uLyhhz1/QJiqk+vaCjtWjw=",
|
||||
"lastModified": 1707839619,
|
||||
"narHash": "sha256-s4/sa1ubbbqL3Cksk2isMqJ5cgeHygARBTlr4AvJRTQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "e0926bc41bd06e0f4e86631872ec1a1aa41a4ba2",
|
||||
"rev": "3f12558d495ac34ee053b6c778f60f921de95dd8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -297,11 +297,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1703939133,
|
||||
"narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=",
|
||||
"lastModified": 1707297608,
|
||||
"narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38",
|
||||
"rev": "0db2e67ee49910adfa13010e7f012149660af7f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.extraSpecialArgs = inputs;
|
||||
home-manager.users.xqtc = {...}: {imports = [ ./home ./home/firefox.nix nixvim.homeManagerModules.nixvim ]; };
|
||||
home-manager.users.xqtc = {...}: {imports = [ ./home nixvim.homeManagerModules.nixvim ]; };
|
||||
}
|
||||
(lib.optionalString (host == "lilith") inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t480)
|
||||
];
|
||||
|
|
|
@ -130,9 +130,9 @@ bind = $mainMod, N, exec, neovide
|
|||
bind = $mainMod SHIFT, F, exec, firefox
|
||||
bind = $mainMod, Z, exec, zathura
|
||||
|
||||
bind = ,XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||
bind = ,XF86AudioLowerVolume, exec, zsh -c "pactl set-sink-volume @DEFAULT_SINK@ 5%-"
|
||||
bind = ,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bind = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ +5%
|
||||
bind = ,XF86AudioLowerVolume, exec, zsh -c "wpctl set-volume @DEFAULT_SINK@ 5%-"
|
||||
bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle
|
||||
|
||||
bind = ,XF86MonBrightnessUp, exec, brightnessctl s +5%
|
||||
bind = ,XF86MonBrightnessDown, exec, brightnessctl s 5%-
|
||||
|
|
374
home/default.nix
374
home/default.nix
|
@ -1,8 +1,8 @@
|
|||
{ config, pkgs, inputs, lib, ... }:
|
||||
{
|
||||
#imports = [
|
||||
# ./firefox.nix
|
||||
#];
|
||||
imports = [
|
||||
./modules/nixvim.nix
|
||||
];
|
||||
home.username = "xqtc";
|
||||
home.homeDirectory = "/home/xqtc";
|
||||
|
||||
|
@ -24,9 +24,21 @@
|
|||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
nushell = { enable = true;
|
||||
eza.enable = true;
|
||||
nushell = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
ls = "eza -l --icons --group-directories-first";
|
||||
};
|
||||
extraConfig = "uwufetch --image";
|
||||
configFile = { text = ''
|
||||
$env.config = {
|
||||
show_banner: false
|
||||
}
|
||||
'';
|
||||
};
|
||||
# The config.nu can be anywhere you want if you like to edit your Nushell with Nu
|
||||
extraConfig = builtins.readFile ./config-files/config.nu;
|
||||
#extraConfig = builtins.readFile ./config-files/config.nu;
|
||||
};
|
||||
carapace.enable = true;
|
||||
carapace.enableNushellIntegration = true;
|
||||
|
@ -83,12 +95,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
#qt = {
|
||||
# enable = true;
|
||||
# platformTheme = "gnome";
|
||||
# style = "Catppuccin-Mocha-Compact-Pink-Dark";
|
||||
#};
|
||||
#systemd.xqtc.sessionVariables = config.home-manager.users.xqtc.home.sessionVariables;
|
||||
|
||||
home.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
||||
|
||||
|
@ -100,246 +106,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
# profiles.xqtc = {
|
||||
# isDefault = true;
|
||||
# extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
||||
# ublock-origin
|
||||
# bitwarden
|
||||
# sidebery
|
||||
# darkreader
|
||||
# noscript
|
||||
# ];
|
||||
# search = {
|
||||
# default = "DuckDuckGo";
|
||||
# force = true;
|
||||
# engines = {
|
||||
# "Nix Packages" = {
|
||||
# urls = [{
|
||||
# template = "https://search.nixos.org/packages";
|
||||
# params = [
|
||||
# { name = "type"; value = "packages"; }
|
||||
# { name = "query"; value = "{searchTerms}"; }
|
||||
# ];
|
||||
# }];
|
||||
#
|
||||
# icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
# definedAliases = [ "@np" ];
|
||||
# };
|
||||
#
|
||||
# "NixOS Wiki" = {
|
||||
# urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
|
||||
# iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||
# updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
# definedAliases = [ "@nw" ];
|
||||
# };
|
||||
#
|
||||
# "Bing".metaData.hidden = true;
|
||||
# "Google".metaData.hidden = true;
|
||||
# "DuckDuckGo".metaData.alias = "@ddg";
|
||||
# };
|
||||
# };
|
||||
# settings = {
|
||||
# "app.normandy.first_run" = false;
|
||||
# "app.shield.optoutstudies.enabled" = false;
|
||||
# "privacy.donotttrackheader.enabled" = true;
|
||||
# "browser.startup.homepage" = "https://start.duckduckgo.com";
|
||||
# "browser.search.region" = "DE";
|
||||
# "browser.search.isUS" = false;
|
||||
# "browser.theme.content-theme" = "0";
|
||||
# "browser.theme.toolbar-theme" = "0";
|
||||
# "browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
# "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
# "services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
# "services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
# "browser.toolbars.bookmarks.visibility" = "never";
|
||||
# "general.useragent.locale" = "de-DE";
|
||||
# "distribution.searchplugins.defaultLocale" = "de-DE";
|
||||
# "signon.rememberSignons" = false;
|
||||
# "toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Needed to allow userChrome.css
|
||||
# };
|
||||
# userChrome = ''
|
||||
# #TabsToolbar {
|
||||
# display: none; !important
|
||||
# }
|
||||
# #sidebar-header {
|
||||
# display: none;
|
||||
# }
|
||||
# '';
|
||||
# };
|
||||
# };
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
globals.mapleader = " ";
|
||||
extraConfigLua = builtins.readFile ./config-files/nvim/init.lua;
|
||||
|
||||
clipboard.providers.wl-copy.enable = true;
|
||||
|
||||
options = {
|
||||
number = true; # Show line numbers
|
||||
relativenumber = true; # Show relative line numbers
|
||||
|
||||
shiftwidth = 2; # Tab width should be 2
|
||||
};
|
||||
|
||||
colorschemes.catppuccin.enable = true;
|
||||
plugins = {
|
||||
lualine.enable = true;
|
||||
lsp-format = {
|
||||
enable = true;
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
lua-ls.enable = true;
|
||||
clangd.enable = true;
|
||||
svelte.enable = true;
|
||||
tsserver.enable = true;
|
||||
eslint.enable = true;
|
||||
rust-analyzer = {
|
||||
enable = true;
|
||||
installLanguageServer = false;
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
};
|
||||
nil_ls.enable = true;
|
||||
};
|
||||
};
|
||||
gitsigns.enable = true;
|
||||
fugitive.enable = true;
|
||||
treesitter = {
|
||||
enable = true;
|
||||
folding = true;
|
||||
indent = true;
|
||||
nixvimInjections = true;
|
||||
};
|
||||
treesitter-refactor = {
|
||||
enable = true;
|
||||
smartRename.enable = true;
|
||||
highlightCurrentScope.enable = true;
|
||||
navigation.enable = true;
|
||||
};
|
||||
cursorline.enable = true;
|
||||
#nvim-cmp = {
|
||||
# enable = true;
|
||||
# sources = [
|
||||
# {name = "nvim_lsp";}
|
||||
# {name = "path";}
|
||||
# {name = "buffer";}
|
||||
# ];
|
||||
#};
|
||||
nvim-cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "path";}
|
||||
{name = "buffer";}
|
||||
{name = "luasnip";}
|
||||
];
|
||||
|
||||
snippet.expand = "luasnip";
|
||||
|
||||
mapping = {
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
"<Tab>" = {
|
||||
action = ''
|
||||
function(fallback)
|
||||
local luasnip = require 'luasnip'
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
'';
|
||||
modes = [ "i" "s" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
telescope.enable = true;
|
||||
telescope.extensions = {
|
||||
file_browser.enable = true;
|
||||
};
|
||||
which-key.enable = true;
|
||||
cmp-nvim-lsp.enable = true;
|
||||
cmp-nvim-lua.enable = true;
|
||||
noice.enable = true;
|
||||
notify.enable = true;
|
||||
luasnip.enable = true;
|
||||
neo-tree.enable = true;
|
||||
presence-nvim.enable = true;
|
||||
crates-nvim.enable = true;
|
||||
fidget.enable = true;
|
||||
alpha = {
|
||||
enable = true;
|
||||
theme = "startify";
|
||||
};
|
||||
bufferline.enable = true;
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ff";
|
||||
options.silent = true;
|
||||
action = "<cmd>Telescope file_browser<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>bb";
|
||||
options.silent = true;
|
||||
action = "<cmd>Telescope buffers<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gp";
|
||||
action = "<cmd>Git pull<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>GP";
|
||||
action = "<cmd>Git push<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gc";
|
||||
action = "<cmd>Git commit<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Ga";
|
||||
action = "<cmd>Git add .<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gd";
|
||||
action = "<cmd>Git diff<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>nt";
|
||||
action = "<cmd>Neotree toggle left<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>P";
|
||||
action = "\"+p";
|
||||
}
|
||||
{
|
||||
mode = [ "n" "v" ];
|
||||
key = "<leader>y";
|
||||
action = "[[\"+y]]";
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
key = "<leader>Y";
|
||||
action = "[[\"+Y]]";
|
||||
}
|
||||
];
|
||||
};
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
|
@ -352,59 +118,61 @@
|
|||
services.mako = {
|
||||
enable = true;
|
||||
font = "Hack Nerd Font 15";
|
||||
backgroundColor = "#1e1e2e";
|
||||
textColor = "#cdd6f4";
|
||||
};
|
||||
|
||||
#home.file."~/.config/hypr/hyprland.conf.
|
||||
home.packages = with pkgs; [
|
||||
neofetch
|
||||
uwufetch
|
||||
btop
|
||||
iftop
|
||||
|
||||
home.packages = with pkgs; [
|
||||
neofetch
|
||||
uwufetch
|
||||
btop
|
||||
iftop
|
||||
|
||||
bitwarden
|
||||
bitwarden-cli
|
||||
|
||||
sway-contrib.grimshot
|
||||
#zathura
|
||||
|
||||
libnotify
|
||||
|
||||
strace
|
||||
ltrace
|
||||
|
||||
nodejs
|
||||
|
||||
nerdfonts
|
||||
vivaldi
|
||||
vivaldi-ffmpeg-codecs
|
||||
|
||||
signal-desktop
|
||||
vesktop
|
||||
discord
|
||||
telegram-desktop
|
||||
webex
|
||||
#schildichat-desktop
|
||||
|
||||
qbittorrent
|
||||
nicotine-plus
|
||||
|
||||
neovide
|
||||
jetbrains.rust-rover
|
||||
|
||||
yubioath-flutter
|
||||
|
||||
steam
|
||||
protonup-qt
|
||||
|
||||
spotify
|
||||
sayonara
|
||||
mpv
|
||||
|
||||
nixos-icons
|
||||
swww
|
||||
];
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
brightnessctl
|
||||
|
||||
bitwarden
|
||||
bitwarden-cli
|
||||
|
||||
sway-contrib.grimshot
|
||||
#zathura
|
||||
|
||||
libnotify
|
||||
|
||||
strace
|
||||
ltrace
|
||||
|
||||
nodejs
|
||||
|
||||
nerdfonts
|
||||
vivaldi
|
||||
vivaldi-ffmpeg-codecs
|
||||
|
||||
signal-desktop
|
||||
vesktop
|
||||
discord
|
||||
telegram-desktop
|
||||
webex
|
||||
#schildichat-desktop
|
||||
|
||||
qbittorrent
|
||||
nicotine-plus
|
||||
|
||||
neovide
|
||||
jetbrains.rust-rover
|
||||
|
||||
yubioath-flutter
|
||||
|
||||
steam
|
||||
protonup-qt
|
||||
|
||||
spotify
|
||||
sayonara
|
||||
mpv
|
||||
|
||||
nixos-icons
|
||||
swww
|
||||
];
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
|
|
@ -1,176 +1,177 @@
|
|||
{ pkgs, lib, config, inputs, outputs, ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
globals.mapleader = " ";
|
||||
extraConfigLua = builtins.readFile ../config-files/nvim/init.lua;
|
||||
|
||||
clipboard.providers.wl-copy.enable = true;
|
||||
|
||||
options = {
|
||||
number = true; # Show line numbers
|
||||
relativenumber = true; # Show relative line numbers
|
||||
|
||||
shiftwidth = 2; # Tab width should be 2
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
globals.mapleader = " ";
|
||||
extraConfigLua = builtins.readFile ../config-files/nvim/init.lua;
|
||||
|
||||
clipboard.providers.wl-copy.enable = true;
|
||||
|
||||
options = {
|
||||
number = true; # Show line numbers
|
||||
relativenumber = true; # Show relative line numbers
|
||||
|
||||
shiftwidth = 2; # Tab width should be 2
|
||||
};
|
||||
|
||||
colorschemes.catppuccin.enable = true;
|
||||
plugins = {
|
||||
lualine.enable = true;
|
||||
lsp-format = {
|
||||
enable = true;
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
lua-ls.enable = true;
|
||||
nushell.enable = true;
|
||||
clangd.enable = true;
|
||||
svelte.enable = true;
|
||||
tsserver.enable = true;
|
||||
eslint.enable = true;
|
||||
rust-analyzer = {
|
||||
enable = true;
|
||||
installLanguageServer = false;
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
};
|
||||
nil_ls.enable = true;
|
||||
};
|
||||
};
|
||||
gitsigns.enable = true;
|
||||
fugitive.enable = true;
|
||||
treesitter = {
|
||||
enable = true;
|
||||
folding = true;
|
||||
indent = true;
|
||||
nixvimInjections = true;
|
||||
};
|
||||
treesitter-refactor = {
|
||||
enable = true;
|
||||
smartRename.enable = true;
|
||||
highlightCurrentScope.enable = true;
|
||||
navigation.enable = true;
|
||||
};
|
||||
cursorline.enable = true;
|
||||
#nvim-cmp = {
|
||||
# enable = true;
|
||||
# sources = [
|
||||
# {name = "nvim_lsp";}
|
||||
# {name = "path";}
|
||||
# {name = "buffer";}
|
||||
# ];
|
||||
#};
|
||||
nvim-cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "path";}
|
||||
{name = "buffer";}
|
||||
{name = "luasnip";}
|
||||
];
|
||||
|
||||
snippet.expand = "luasnip";
|
||||
|
||||
mapping = {
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
"<Tab>" = {
|
||||
action = ''
|
||||
function(fallback)
|
||||
local luasnip = require 'luasnip'
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
'';
|
||||
modes = [ "i" "s" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
telescope.enable = true;
|
||||
telescope.extensions = {
|
||||
file_browser.enable = true;
|
||||
};
|
||||
which-key.enable = true;
|
||||
cmp-nvim-lsp.enable = true;
|
||||
cmp-nvim-lua.enable = true;
|
||||
noice.enable = true;
|
||||
notify.enable = true;
|
||||
luasnip.enable = true;
|
||||
neo-tree.enable = true;
|
||||
presence-nvim.enable = true;
|
||||
crates-nvim.enable = true;
|
||||
fidget.enable = true;
|
||||
alpha = {
|
||||
enable = true;
|
||||
theme = "startify";
|
||||
};
|
||||
bufferline.enable = true;
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ff";
|
||||
options.silent = true;
|
||||
action = "<cmd>Telescope file_browser<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>bb";
|
||||
options.silent = true;
|
||||
action = "<cmd>Telescope buffers<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gp";
|
||||
action = "<cmd>Git pull<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>GP";
|
||||
action = "<cmd>Git push<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gc";
|
||||
action = "<cmd>Git commit<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Ga";
|
||||
action = "<cmd>Git add .<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gd";
|
||||
action = "<cmd>Git diff<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>nt";
|
||||
action = "<cmd>Neotree toggle left<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>P";
|
||||
action = "\"+p";
|
||||
}
|
||||
{
|
||||
mode = [ "n" "v" ];
|
||||
key = "<leader>y";
|
||||
action = "[[\"+y]]";
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
key = "<leader>Y";
|
||||
action = "[[\"+Y]]";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
colorschemes.catppuccin.enable = true;
|
||||
plugins = {
|
||||
lualine.enable = true;
|
||||
lsp-format = {
|
||||
enable = true;
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
lua-ls.enable = true;
|
||||
clangd.enable = true;
|
||||
svelte.enable = true;
|
||||
tsserver.enable = true;
|
||||
eslint.enable = true;
|
||||
rust-analyzer = {
|
||||
enable = true;
|
||||
installLanguageServer = false;
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
};
|
||||
nil_ls.enable = true;
|
||||
};
|
||||
};
|
||||
gitsigns.enable = true;
|
||||
fugitive.enable = true;
|
||||
treesitter = {
|
||||
enable = true;
|
||||
folding = true;
|
||||
indent = true;
|
||||
nixvimInjections = true;
|
||||
};
|
||||
treesitter-refactor = {
|
||||
enable = true;
|
||||
smartRename.enable = true;
|
||||
highlightCurrentScope.enable = true;
|
||||
navigation.enable = true;
|
||||
};
|
||||
cursorline.enable = true;
|
||||
#nvim-cmp = {
|
||||
# enable = true;
|
||||
# sources = [
|
||||
# {name = "nvim_lsp";}
|
||||
# {name = "path";}
|
||||
# {name = "buffer";}
|
||||
# ];
|
||||
#};
|
||||
nvim-cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "path";}
|
||||
{name = "buffer";}
|
||||
{name = "luasnip";}
|
||||
];
|
||||
|
||||
snippet.expand = "luasnip";
|
||||
|
||||
mapping = {
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
"<Tab>" = {
|
||||
action = ''
|
||||
function(fallback)
|
||||
local luasnip = require 'luasnip'
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
'';
|
||||
modes = [ "i" "s" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
telescope.enable = true;
|
||||
telescope.extensions = {
|
||||
file_browser.enable = true;
|
||||
};
|
||||
which-key.enable = true;
|
||||
cmp-nvim-lsp.enable = true;
|
||||
cmp-nvim-lua.enable = true;
|
||||
noice.enable = true;
|
||||
notify.enable = true;
|
||||
luasnip.enable = true;
|
||||
neo-tree.enable = true;
|
||||
presence-nvim.enable = true;
|
||||
crates-nvim.enable = true;
|
||||
fidget.enable = true;
|
||||
alpha = {
|
||||
enable = true;
|
||||
theme = "startify";
|
||||
};
|
||||
bufferline.enable = true;
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ff";
|
||||
options.silent = true;
|
||||
action = "<cmd>Telescope file_browser<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>bb";
|
||||
options.silent = true;
|
||||
action = "<cmd>Telescope buffers<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gp";
|
||||
action = "<cmd>Git pull<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>GP";
|
||||
action = "<cmd>Git push<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gc";
|
||||
action = "<cmd>Git commit<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Ga";
|
||||
action = "<cmd>Git add .<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>Gd";
|
||||
action = "<cmd>Git diff<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>nt";
|
||||
action = "<cmd>Neotree toggle left<CR>";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>P";
|
||||
action = "\"+p";
|
||||
}
|
||||
{
|
||||
mode = [ "n" "v" ];
|
||||
key = "<leader>y";
|
||||
action = "[[\"+y]]";
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
key = "<leader>Y";
|
||||
action = "[[\"+Y]]";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
dates = "daily";
|
||||
options = "--delete-older-than 10d";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -64,10 +64,10 @@
|
|||
# };
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
#services.xserver.enable = true;
|
||||
#services.xserver.displayManager.gdm.enable = true;
|
||||
#services.xserver.displayManager.ly.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
#services.xserver.desktopManager.gnome.enable = true;
|
||||
#services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||
#services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
|
@ -132,7 +132,7 @@
|
|||
cargo
|
||||
cargo-generate
|
||||
sway
|
||||
swaylock
|
||||
#swaylock
|
||||
swaylock-effects
|
||||
tofi
|
||||
waybar
|
||||
|
@ -168,12 +168,27 @@
|
|||
package = pkgs.mullvad-vpn;
|
||||
};
|
||||
|
||||
networking.wireguard.enable = true;
|
||||
networking.nameservers = [
|
||||
"9.9.9.9#nine.nine.nine.nine"
|
||||
"1.1.1.1#one.one.one.one"
|
||||
"1.0.0.1#one.zero.zero.one"
|
||||
];
|
||||
services.resolved = {
|
||||
enable = true;
|
||||
dnssec = "true";
|
||||
domains = [ "~." ];
|
||||
fallbackDns = ["9.9.9.9#nine.nine.nine.nine"];
|
||||
extraConfig = ''
|
||||
DNSOverTLS=yes
|
||||
'';
|
||||
};
|
||||
#networking.wireguard.enable = true;
|
||||
|
||||
|
||||
services.tailscale.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
networking.firewall.allowedTCPPorts = [ 8080 5173 ];
|
||||
networking.firewall.allowedTCPPorts = [ 2234 8080 5173 ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
|
Loading…
Reference in a new issue