mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-10 18:46:30 +00:00
feat: update system
This commit is contained in:
162
flake.lock
generated
162
flake.lock
generated
@@ -9,11 +9,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731092955,
|
||||
"narHash": "sha256-L1hLXf4IDZ0KoXbFiSNNZJ7IrReEr/J+CLt6Rl4Ea3M=",
|
||||
"lastModified": 1735301051,
|
||||
"narHash": "sha256-jU88Q9tP4vuvWYGQcmOdFwI9e2uMPVYJHbXdiklIH9o=",
|
||||
"owner": "Kirottu",
|
||||
"repo": "anyrun",
|
||||
"rev": "d2017f224b2bfd7e33573c7070e7c3e2960c7dcc",
|
||||
"rev": "06017e753c8886d5296768dca80745ee09402a2d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -30,11 +30,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728330715,
|
||||
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
|
||||
"lastModified": 1735644329,
|
||||
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
|
||||
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -44,29 +44,13 @@
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1717312683,
|
||||
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"revCount": 57,
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"revCount": 69,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
@@ -102,11 +86,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"lastModified": 1736143030,
|
||||
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -143,18 +127,14 @@
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734425854,
|
||||
"narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=",
|
||||
"lastModified": 1737465171,
|
||||
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d",
|
||||
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -192,11 +172,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734344598,
|
||||
"narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=",
|
||||
"lastModified": 1737630279,
|
||||
"narHash": "sha256-wJQCxyMRc4P26zDrHmZiRD5bbfcJpqPG3e2djdGG3pk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "83ecd50915a09dca928971139d3a102377a8d242",
|
||||
"rev": "0db5c8bfcce78583ebbde0b2abbc95ad93445f7c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -213,11 +193,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734344598,
|
||||
"narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=",
|
||||
"lastModified": 1737480538,
|
||||
"narHash": "sha256-rk/cmrvq3In0TegW9qaAxw+5YpJhRWt2p74/6JStrw0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "83ecd50915a09dca928971139d3a102377a8d242",
|
||||
"rev": "4481a16d1ac5bff4a77c608cefe08c9b9efe840d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -282,11 +262,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733570843,
|
||||
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
|
||||
"lastModified": 1737504076,
|
||||
"narHash": "sha256-/B4XJnzYU/6K1ZZOBIgsa3K4pqDJrnC2579c44c+4rI=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
|
||||
"rev": "65cc1fa8e36ceff067daf6cfb142331f02f524d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -295,26 +275,19 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-cosmic": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1734404414,
|
||||
"narHash": "sha256-c/7bsbMcVMb8c4wiLA142ZQfL08U8qYJROGf9NCkfQE=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "a364e6a5e9eb93253daf93c747b150e31e09b13c",
|
||||
"lastModified": 1734128415,
|
||||
"narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "8bdc2540da516006d07b04019eb57ae0781a04b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"owner": "gmodena",
|
||||
"ref": "latest",
|
||||
"repo": "nix-flatpak",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -334,29 +307,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1734083684,
|
||||
"narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1734424634,
|
||||
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
|
||||
"lastModified": 1737181194,
|
||||
"narHash": "sha256-eoGbMQQTjobtGaPyXInuciinBUWOHG68Ft9zcJer6LE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
|
||||
"rev": "947eb2af89cbad3d4ffb8bdd2557c48045b7f497",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -369,7 +326,7 @@
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager_2",
|
||||
@@ -381,11 +338,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734567959,
|
||||
"narHash": "sha256-ghNQlnI/r6cnknY58x60695sFrYnI6ZUMg65bmoNGqw=",
|
||||
"lastModified": 1737645531,
|
||||
"narHash": "sha256-2cLk8KXpFZhMUFg61Fb8ykTp0VWqJSwcg/1o30nDYVo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "37608b462772e35220e02bfbd9045d0946564436",
|
||||
"rev": "e22bb46c8863c30a791a4183aa9013d542cc5be5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -404,11 +361,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733773348,
|
||||
"narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
|
||||
"lastModified": 1737372689,
|
||||
"narHash": "sha256-nH3zK2ki0fd5o5qvbGHxukE4qnOLJa1uCzoDObG5vrE=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
|
||||
"rev": "570cc17bbc25650eb7d69e4fcda8cfd2f1656922",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -422,32 +379,11 @@
|
||||
"anyrun": "anyrun",
|
||||
"home-manager": "home-manager",
|
||||
"matugen": "matugen",
|
||||
"nixos-cosmic": "nixos-cosmic",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixvim": "nixvim"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixos-cosmic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734316514,
|
||||
"narHash": "sha256-0aLx44yMblcOGpfFXKCzp2GhU5JaE6OTvdU+JYrXiUc=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "83ee8ff74d6294a7657320f16814754c4594127b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
@@ -501,11 +437,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733761991,
|
||||
"narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=",
|
||||
"lastModified": 1737483750,
|
||||
"narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085",
|
||||
"rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
22
flake.nix
22
flake.nix
@@ -14,10 +14,7 @@
|
||||
url = "github:Kirottu/anyrun";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixos-cosmic = {
|
||||
url = "github:lilyinstarlight/nixos-cosmic";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -27,7 +24,7 @@
|
||||
nixvim,
|
||||
anyrun,
|
||||
matugen,
|
||||
nixos-cosmic,
|
||||
nix-flatpak,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
@@ -47,6 +44,7 @@
|
||||
(final: prev: {
|
||||
anyrunPlugins = anyrun.packages.${prev.system};
|
||||
matugen = matugen.packages.${prev.system}.default;
|
||||
gccdiag = prev.callPackage ./overlays/gccdiag { };
|
||||
gbmonctl = prev.callPackage ./overlays/gbmonctl { };
|
||||
lpc21isp = prev.callPackage ./overlays/lpc21isp { };
|
||||
rquickshare = prev.callPackage ./overlays/rquickshare { };
|
||||
@@ -68,22 +66,13 @@
|
||||
./modules/nixos
|
||||
./hosts/${hostname}
|
||||
home-manager.nixosModules.home-manager
|
||||
nixos-cosmic.nixosModules.default
|
||||
{
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://cosmic.cachix.org/"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
|
||||
];
|
||||
};
|
||||
}
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
{
|
||||
_module.args = {
|
||||
inherit username;
|
||||
};
|
||||
networking.hostName = hostname;
|
||||
services.flatpak.enable = true;
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
@@ -93,6 +82,7 @@
|
||||
users.${username} = {
|
||||
imports = [
|
||||
matugen.homeManagerModules.default
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
./modules/home-manager
|
||||
./hosts/${hostname}/home.nix
|
||||
];
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Bootloader.
|
||||
boot = {
|
||||
quiet.enable = true;
|
||||
|
||||
@@ -49,11 +48,8 @@
|
||||
waybar.enable = true;
|
||||
dunst.enable = true;
|
||||
};
|
||||
services.desktopManager.cosmic.enable = true;
|
||||
services.displayManager.cosmic-greeter.enable = true;
|
||||
desktops = {
|
||||
hyprland.enable = true;
|
||||
# gamescope.enable = true;
|
||||
};
|
||||
locale.preset.theaninova.enable = true;
|
||||
|
||||
@@ -65,7 +61,7 @@
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = with pkgs; [
|
||||
rastertokpsl-re
|
||||
# rastertokpsl-re
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
cachix
|
||||
# lorri
|
||||
vulnix
|
||||
gccdiag
|
||||
|
||||
# browsers
|
||||
firefox
|
||||
@@ -44,17 +45,19 @@
|
||||
blender-hip
|
||||
|
||||
# development
|
||||
insomnia
|
||||
# TODO: .NET 6 avalonia-ilspy
|
||||
# ghidra
|
||||
# ida-free
|
||||
|
||||
# utils
|
||||
libqalculate
|
||||
ranger
|
||||
neofetch
|
||||
filezilla
|
||||
yubikey-manager
|
||||
# rquickshare
|
||||
(pkgs.writeShellApplication {
|
||||
name = "fix-yubikey";
|
||||
text = ''
|
||||
gpg-connect-agent --hex "scd apdu 00 f1 00 00" /bye
|
||||
'';
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.flatpak.update.auto = {
|
||||
enable = true;
|
||||
onCalendar = "weekly";
|
||||
};
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
rbw = {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
fork = true;
|
||||
font = {
|
||||
normal = [ "FiraCode Nerd Font" ];
|
||||
size = 12.75;
|
||||
size = 12;
|
||||
edging = "subpixelantialias";
|
||||
hinting = "full";
|
||||
features."FiraCode Nerd Font" = [
|
||||
|
||||
@@ -46,13 +46,17 @@
|
||||
enable = true;
|
||||
prettier = true;
|
||||
};
|
||||
spellcheck.enable = false;
|
||||
status-line.enable = true;
|
||||
syntax.enable = true;
|
||||
tree.enable = true;
|
||||
};
|
||||
languages = {
|
||||
angular.enable = true;
|
||||
c.enable = true;
|
||||
c = {
|
||||
enable = true;
|
||||
cppcheck = true;
|
||||
};
|
||||
css = {
|
||||
enable = true;
|
||||
stylelint = true;
|
||||
@@ -68,21 +72,64 @@
|
||||
python.enable = true;
|
||||
rust.enable = true;
|
||||
shell.enable = true;
|
||||
svelte.enable = true;
|
||||
};
|
||||
remaps = {
|
||||
half-page-scroll.enable = true;
|
||||
no-accidental-macro.enable = true;
|
||||
paste-keep-buffer.enable = true;
|
||||
wrapped-line-nav.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
extraPlugins = [ pkgs.vimPlugins.tiny-inline-diagnostic-nvim ];
|
||||
extraConfigLua = ''
|
||||
require("tiny-inline-diagnostic").setup({
|
||||
preset = "modern",
|
||||
hi = {
|
||||
arrow = "LineNr",
|
||||
background = "LineNr",
|
||||
},
|
||||
options = {
|
||||
show_source = true,
|
||||
use_icons_from_diagnostic = true,
|
||||
add_messages = true,
|
||||
throttle = 0,
|
||||
softwrap = 30,
|
||||
multiple_diag_under_cursor = true,
|
||||
multilines = {
|
||||
enabled = true,
|
||||
always_show = true,
|
||||
},
|
||||
show_all_diags_on_cursorline = false,
|
||||
enable_on_insert = true,
|
||||
enable_on_select = true,
|
||||
severity = {
|
||||
vim.diagnostic.severity.ERROR,
|
||||
vim.diagnostic.severity.WARN,
|
||||
vim.diagnostic.severity.INFO,
|
||||
vim.diagnostic.severity.HINT,
|
||||
},
|
||||
},
|
||||
})
|
||||
'';
|
||||
diagnostics.virtual_text = false;
|
||||
|
||||
plugins = {
|
||||
leap.enable = true;
|
||||
vim-surround.enable = true;
|
||||
which-key.enable = true;
|
||||
schemastore.enable = true;
|
||||
# TODO: looks weird with neovide
|
||||
# treesitter-context.enable = true;
|
||||
comment.enable = true;
|
||||
debugprint.enable = true;
|
||||
todo-comments.enable = true;
|
||||
treesitter-context = {
|
||||
enable = false; # TODO: looks weird with Neovide
|
||||
settings = {
|
||||
line_numbers = false;
|
||||
};
|
||||
};
|
||||
none-ls.settings.debug = true;
|
||||
|
||||
lsp.servers = {
|
||||
html.enable = true;
|
||||
@@ -97,7 +144,7 @@
|
||||
|
||||
copilot-lua = {
|
||||
enable = true;
|
||||
suggestion.autoTrigger = true;
|
||||
settings.suggestion.auto_trigger = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -41,8 +41,14 @@ in
|
||||
snippet.expand = # lua
|
||||
"function(args) require('luasnip').lsp_expand(args.body) end";
|
||||
window = {
|
||||
completion.border = "rounded";
|
||||
documentation.border = "rounded";
|
||||
completion = {
|
||||
border = "solid";
|
||||
zindex = 10;
|
||||
};
|
||||
documentation = {
|
||||
border = "solid";
|
||||
zindex = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -15,6 +15,7 @@ in
|
||||
config = lib.mkIf cfg.enable {
|
||||
extraConfigLuaPre = # lua
|
||||
''
|
||||
vim.lsp.set_log_level("off")
|
||||
require("actions-preview").setup({})
|
||||
|
||||
local signs = {
|
||||
@@ -28,15 +29,19 @@ in
|
||||
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
|
||||
end
|
||||
|
||||
vim.diagnostic.config({
|
||||
virtual_text = true,
|
||||
signs = true,
|
||||
underline = true,
|
||||
update_in_insert = true,
|
||||
severity_sort = false,
|
||||
})
|
||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" })
|
||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "solid" })
|
||||
'';
|
||||
diagnostics = {
|
||||
signs.text = {
|
||||
"__rawKey__vim.diagnostic.severity.ERROR" = "";
|
||||
"__rawKey__vim.diagnostic.severity.WARN" = "";
|
||||
"__rawKey__vim.diagnostic.severity.INFO" = "";
|
||||
"__rawKey__vim.diagnostic.severity.HINT" = "";
|
||||
};
|
||||
underline = true;
|
||||
update_in_insert = true;
|
||||
severity_sort = true;
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
key = "<leader>sa";
|
||||
@@ -70,9 +75,19 @@ in
|
||||
action.__raw = # lua
|
||||
"vim.lsp.buf.hover";
|
||||
}
|
||||
{
|
||||
key = "<leader>sh";
|
||||
mode = "n";
|
||||
options.silent = true;
|
||||
action.__raw = # lua
|
||||
"function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({0}), {0}) end";
|
||||
}
|
||||
];
|
||||
plugins = {
|
||||
lsp.enable = true;
|
||||
lsp = {
|
||||
enable = true;
|
||||
inlayHints = false;
|
||||
};
|
||||
telescope = {
|
||||
enable = true;
|
||||
keymaps = {
|
||||
@@ -81,7 +96,6 @@ in
|
||||
"<leader>si" = "lsp_implementations";
|
||||
"<leader>sw" = "lsp_workspace_symbols";
|
||||
"<leader>st" = "lsp_type_definitions";
|
||||
"<leader>sh" = "diagnostics";
|
||||
};
|
||||
};
|
||||
inc-rename.enable = true;
|
||||
@@ -133,8 +147,8 @@ in
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>sh";
|
||||
icon = "";
|
||||
desc = "Diagnostics";
|
||||
icon = "";
|
||||
desc = "Inlay Hints";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>sa";
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
hmConfig,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.presets.base.spellcheck;
|
||||
in
|
||||
{
|
||||
options.presets.base.spellcheck = {
|
||||
enable = lib.mkEnableOption "Spellcheck";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
plugins.lsp.servers.harper_ls = {
|
||||
enable = true;
|
||||
settings = {
|
||||
userDictPath = "${hmConfig.xdg.configHome}/harper-user-dictionary.txt";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -32,8 +32,8 @@ in
|
||||
options = {
|
||||
globalstatus = true;
|
||||
section_separators = {
|
||||
left = ""; # "";
|
||||
right = ""; # "";
|
||||
left = "";
|
||||
right = "";
|
||||
};
|
||||
component_separators = {
|
||||
left = "┊";
|
||||
@@ -45,8 +45,8 @@ in
|
||||
{
|
||||
__unkeyed-1 = "mode";
|
||||
separator = {
|
||||
right = ""; # "";
|
||||
left = ""; # "";
|
||||
right = "";
|
||||
left = "";
|
||||
};
|
||||
icon = "";
|
||||
}
|
||||
@@ -56,8 +56,8 @@ in
|
||||
{
|
||||
__unkeyed-1 = "location";
|
||||
separator = {
|
||||
right = ""; # "";
|
||||
left = ""; # "";
|
||||
right = "";
|
||||
left = "";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
@@ -28,7 +28,7 @@ in
|
||||
filteredItems.visible = true;
|
||||
};
|
||||
extraSources = [ "document_symbols" ];
|
||||
popupBorderStyle = "rounded";
|
||||
popupBorderStyle = "solid";
|
||||
eventHandlers.neo_tree_buffer_leave = # lua
|
||||
''
|
||||
function()
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
{ lib, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
options.programs.nixvim = lib.mkOption {
|
||||
type = lib.types.submoduleWith {
|
||||
type = pkgs.lib.types.submoduleWith {
|
||||
specialArgs = {
|
||||
inherit pkgs;
|
||||
};
|
||||
modules = [
|
||||
./auto-save.nix
|
||||
./auto-format.nix
|
||||
@@ -15,6 +18,7 @@
|
||||
./base/diagnostics.nix
|
||||
./base/find.nix
|
||||
./base/formatting.nix
|
||||
./base/spellcheck.nix
|
||||
./base/status-line.nix
|
||||
./base/syntax.nix
|
||||
./base/tree.nix
|
||||
@@ -29,10 +33,12 @@
|
||||
./languages/python.nix
|
||||
./languages/rust.nix
|
||||
./languages/shell.nix
|
||||
./languages/svelte.nix
|
||||
|
||||
./remaps/half-page-scroll.nix
|
||||
./remaps/no-accidental-macro.nix
|
||||
./remaps/paste-keep-buffer.nix
|
||||
./remaps/wrapped-line-nav.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.presets.languages.c;
|
||||
in
|
||||
{
|
||||
options.presets.languages.c = {
|
||||
enable = lib.mkEnableOption "C/C++";
|
||||
cppcheck = lib.mkEnableOption "cppcheck";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
@@ -13,12 +18,28 @@ in
|
||||
c = [ "clang-format" ];
|
||||
cpp = [ "clang-format" ];
|
||||
};
|
||||
lsp.servers.clangd = {
|
||||
none-ls = {
|
||||
enable = true;
|
||||
cmd = [
|
||||
"clangd"
|
||||
"--offset-encoding=utf-16"
|
||||
];
|
||||
sources.diagnostics = {
|
||||
cppcheck = lib.mkIf cfg.cppcheck {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
lsp.servers = {
|
||||
clangd = {
|
||||
enable = true;
|
||||
cmd = [
|
||||
"clangd"
|
||||
"--offset-encoding=utf-16"
|
||||
];
|
||||
settings.InlayHints = {
|
||||
Designators = true;
|
||||
Enabled = true;
|
||||
ParameterNames = true;
|
||||
DeducedTypes = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -42,7 +42,31 @@ in
|
||||
}
|
||||
];
|
||||
lsp.servers = {
|
||||
ts_ls.enable = true;
|
||||
ts_ls = {
|
||||
enable = true;
|
||||
settings = {
|
||||
typescript.inlayHints = {
|
||||
includeInlayParameterNameHints = "all";
|
||||
includeInlayParameterNameHintsWhenArgumentMatchesName = true;
|
||||
includeInlayFunctionParameterTypeHints = true;
|
||||
includeInlayVariableTypeHints = true;
|
||||
includeInlayVariableTypeHintsWhenTypeMatchesName = true;
|
||||
includeInlayPropertyDeclarationTypeHints = true;
|
||||
includeInlayFunctionLikeReturnTypeHints = true;
|
||||
includeInlayEnumMemberValueHints = true;
|
||||
};
|
||||
javascript.inlayHints = {
|
||||
includeInlayParameterNameHints = "all";
|
||||
includeInlayParameterNameHintsWhenArgumentMatchesName = true;
|
||||
includeInlayFunctionParameterTypeHints = true;
|
||||
includeInlayVariableTypeHints = true;
|
||||
includeInlayVariableTypeHintsWhenTypeMatchesName = true;
|
||||
includeInlayPropertyDeclarationTypeHints = true;
|
||||
includeInlayFunctionLikeReturnTypeHints = true;
|
||||
includeInlayEnumMemberValueHints = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
eslint.enable = lib.mkIf cfg.eslint true;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -15,6 +15,10 @@ in
|
||||
config = lib.mkIf cfg.enable {
|
||||
plugins = {
|
||||
conform-nvim.settings.formatters_by_ft.nix = [ "nixfmt" ];
|
||||
none-ls = {
|
||||
enable = true;
|
||||
sources.diagnostics.statix.enable = true;
|
||||
};
|
||||
lsp.servers.nil_ls.enable = true;
|
||||
nix.enable = true;
|
||||
};
|
||||
|
||||
@@ -14,6 +14,28 @@ in
|
||||
enable = true;
|
||||
installCargo = false;
|
||||
installRustc = false;
|
||||
settings.inlayHints = {
|
||||
bindingModeHints.enable = false;
|
||||
chainingHints.enable = true;
|
||||
closingBraceHints = {
|
||||
enable = true;
|
||||
minLines = 25;
|
||||
};
|
||||
closureReturnTypeHints.enable = "never";
|
||||
lifetimeElisionHints = {
|
||||
enable = "never";
|
||||
useParameterNames = false;
|
||||
};
|
||||
maxLength = 25;
|
||||
parameterHints.enable = true;
|
||||
reborrowHints.enable = "never";
|
||||
renderColons = true;
|
||||
typeHints = {
|
||||
enable = true;
|
||||
hideClosureInitialization = false;
|
||||
hideNamedConstructor = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.presets.languages.svelte;
|
||||
in
|
||||
{
|
||||
options.presets.languages.svelte = {
|
||||
enable = lib.mkEnableOption "Svelte";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
plugins.lsp.servers.svelte = {
|
||||
enable = true;
|
||||
settings.typescript.inlayHints = {
|
||||
parameterNames.enabled = "all";
|
||||
parameterTypes.enabled = true;
|
||||
variableTypes.enabled = true;
|
||||
propertyDeclarationTypes.enabled = true;
|
||||
functionLikeReturnTypes.enabled = true;
|
||||
enumMemberValues.enabled = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{ lib, config, ... }:
|
||||
let
|
||||
cfg = config.presets.remaps.wrapped-line-nav;
|
||||
in
|
||||
{
|
||||
options.presets.remaps.wrapped-line-nav = {
|
||||
enable = lib.mkEnableOption "Navigate wrapped lines up and down";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
keymaps = [
|
||||
{
|
||||
key = "<up>";
|
||||
action = "g<up>";
|
||||
}
|
||||
{
|
||||
key = "<down>";
|
||||
action = "g<down>";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -13,7 +13,7 @@ in
|
||||
key = "<leader>xx";
|
||||
mode = "n";
|
||||
action.__raw = # lua
|
||||
"require('trouble').toggle";
|
||||
"function() require('trouble').toggle('diagnostics') end";
|
||||
}
|
||||
{
|
||||
key = "<leader>xw";
|
||||
@@ -42,10 +42,7 @@ in
|
||||
];
|
||||
plugins = {
|
||||
web-devicons.enable = true;
|
||||
trouble = {
|
||||
enable = true;
|
||||
settings.use_diagnostic_signs = true;
|
||||
};
|
||||
trouble.enable = true;
|
||||
which-key.settings.spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>x";
|
||||
|
||||
@@ -4,14 +4,19 @@ if exists("syntax_on")
|
||||
endif
|
||||
let g:colors_name="md3-evo"
|
||||
|
||||
let g:neovide_transparency = {{custom.transparency}}
|
||||
let g:neovide_transparency = 1.0
|
||||
let g:neovide_floating_corner_radius = 0.5
|
||||
let g:neovide_normal_opacity = {{custom.transparency}}
|
||||
let g:neovide_padding_top = {{custom.padding}}
|
||||
let g:neovide_padding_bottom = {{custom.padding}}
|
||||
let g:neovide_padding_left = {{custom.padding}}
|
||||
let g:neovide_padding_right = {{custom.padding}}
|
||||
let g:neovide_floating_blur_amount_x = {{custom.blur}}
|
||||
let g:neovide_floating_blur_amount_y = {{custom.blur}}
|
||||
let g:neovide_floating_shadow = 0
|
||||
let g:neovide_floating_shadow = v:true
|
||||
let g:neovide_floating_z_height = 10
|
||||
let g:neovide_light_angle_degrees = 45
|
||||
let g:neovide_light_radius = 5
|
||||
|
||||
let g:terminal_color_0 = "{{colors.surface.default.hex}}"
|
||||
let g:terminal_color_1 = "{{colors.red.default.hex}}"
|
||||
@@ -204,6 +209,8 @@ hi! IlluminatedWordRead gui=none guibg={{colors.surface_container_highest.defaul
|
||||
hi! IlluminatedWordWrite gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||
hi! MatchParen gui=none guibg={{colors.surface_container_highest.default.hex}}
|
||||
|
||||
hi! LspInlayHint guifg={{colors.on_surface_variant.default.hex}} guibg={{colors.surface_variant.default.hex}}
|
||||
|
||||
let g:lualine_theme = {
|
||||
\ "insert": {
|
||||
\ "a": {"fg": "{{colors.on_green.default.hex}}", "bg": "{{colors.green.default.hex}}", "gui": "bold"},
|
||||
|
||||
@@ -34,22 +34,28 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
# https://github.com/sjcobb2022/nixos-config/blob/70fb548b961c19e9855d2de86ee9569a7a88d976/hosts/common/optional/greetd.nix#L23C1-L33C2
|
||||
systemd.services.greetd.serviceConfig = {
|
||||
Type = "idle";
|
||||
StandardInput = "tty";
|
||||
StandardOutput = "tty";
|
||||
StandardError = "journal"; # Without this errors will spam on screen
|
||||
# Without these bootlogs will spam on screen
|
||||
TTYReset = true;
|
||||
TTYVHangup = true;
|
||||
TTYVTDisallocate = true;
|
||||
};
|
||||
|
||||
services = {
|
||||
/*
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
initial_session = {
|
||||
command = "${pkgs.hyprland}/bin/Hyprland &> /dev/null";
|
||||
user = username;
|
||||
};
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks";
|
||||
user = username;
|
||||
};
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks --remember --remember-session --sessions ${pkgs.hyprland}/share/wayland-sessions";
|
||||
user = username;
|
||||
};
|
||||
};
|
||||
*/
|
||||
};
|
||||
|
||||
dbus.enable = true;
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ in
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ pavucontrol ];
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
|
||||
@@ -18,7 +18,7 @@ in
|
||||
config = mkIf cfg.enable {
|
||||
fonts.fontconfig.subpixel.rgba = "bgr";
|
||||
hardware.gbmonctl.enable = true;
|
||||
boot.kernelParams = [ "video=3840x2160@120" ];
|
||||
boot.kernelParams = [ "video=3840x2160@144" ];
|
||||
|
||||
home-manager.users.${username} = {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
@@ -29,7 +29,7 @@ in
|
||||
mfact = 0.4;
|
||||
};
|
||||
monitor = [
|
||||
"DP-3,3840x2160@120,0x0,1,bitdepth,10"
|
||||
"DP-3,3840x2160@144,0x0,1,bitdepth,10"
|
||||
"DP-3,addreserved,340,0,0,0"
|
||||
];
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
|
||||
makeFlags = kernel.makeFlags ++ [
|
||||
"KVERSION=${kernel.modDirVersion}"
|
||||
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
"KBUILD_OUTPUT=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
@@ -16,7 +15,6 @@ in
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot = {
|
||||
# Virtual Camera/Mic
|
||||
kernelModules = [
|
||||
"v4l2loopback"
|
||||
"snd-aloop"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
|
||||
@@ -20,10 +21,17 @@ in
|
||||
lpc21isp
|
||||
dfu-util
|
||||
openscad
|
||||
bambu-studio
|
||||
prusa-slicer # gcode viewer!
|
||||
orca-slicer
|
||||
freecad
|
||||
];
|
||||
home-manager.users.${username} = {
|
||||
services.flatpak.packages = [
|
||||
"com.bambulab.BambuStudio"
|
||||
"org.freecad.FreeCAD"
|
||||
"com.prusa3d.PrusaSlicer" # gcode viewer!
|
||||
];
|
||||
programs = {
|
||||
lazygit.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
hidapi,
|
||||
udev,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
buildGoModule {
|
||||
pname = "gbmonctl";
|
||||
version = "1d01a090";
|
||||
src = fetchFromGitHub {
|
||||
@@ -28,5 +27,6 @@ buildGoModule rec {
|
||||
meta = with lib; {
|
||||
description = "A CLI tool to change monitor settings over USB to the Gigabyte M32U";
|
||||
homepage = "https://github.com/kelvie/gbmonctl";
|
||||
maintainers = with maintainers; [ theaninova ];
|
||||
};
|
||||
}
|
||||
|
||||
66
overlays/gccdiag/default.nix
Normal file
66
overlays/gccdiag/default.nix
Normal file
@@ -0,0 +1,66 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchFromGitLab,
|
||||
boost,
|
||||
libargs,
|
||||
cmake,
|
||||
}:
|
||||
let
|
||||
cpmCacheDir = ".cpm";
|
||||
format = rec {
|
||||
repo = "Format.cmake";
|
||||
src = fetchFromGitHub {
|
||||
owner = "TheLartians";
|
||||
inherit repo;
|
||||
rev = "v1.7.2";
|
||||
hash = "sha256-MFUwJrL0N2wJfj2vkQdKdStPkNJ6AJIYvBhCY6aVpsc=";
|
||||
};
|
||||
originHash = "23e9a6cadcf1af689dbf4cd8e9a7edf67ddb0009";
|
||||
cacheDir = "${lib.toLower repo}/${originHash}";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gccdiag";
|
||||
version = "0.2.6";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "andrejr";
|
||||
repo = "gccdiag";
|
||||
rev = version;
|
||||
hash = "sha256-Oa4JGHCMnTW9uwxUw/+XCfQCElTAD1ifGQJ3ZFl5mys=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
export CPM_SOURCE_CACHE=$sourceRoot/${cpmCacheDir}
|
||||
mkdir -p "$CPM_SOURCE_CACHE/${format.cacheDir}"
|
||||
cp -R --no-preserve=mode,ownership "${format.src}" "$CPM_SOURCE_CACHE/${format.cacheDir}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
libargs
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-Dgccdiag_USE_CONAN=off"
|
||||
"-Dgccdiag_SOURCE_DIST=on"
|
||||
"-DGIT_TAG=v${version}"
|
||||
"-DSEMVER=${version}"
|
||||
"-DVERSION=${version}"
|
||||
"-DPROJECT_VERSION=${version}"
|
||||
"-DVERSON_MAJOR=${builtins.elemAt (lib.strings.splitString "." version) 0}"
|
||||
"-DVERSON_MINOR=${builtins.elemAt (lib.strings.splitString "." version) 1}"
|
||||
"-DVERSON_PATCH=${builtins.elemAt (lib.strings.splitString "." version) 2}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A utility to get gcc (or other compiler) diagnostics for a source file, with appropriate flags extracted from a compilation database";
|
||||
homepage = "https://gitlab.com/andrejr/gccdiag";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ theaninova ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user