mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
Compare commits
9 Commits
48e66ab57a
...
37b65c6b7f
| Author | SHA1 | Date | |
|---|---|---|---|
|
37b65c6b7f
|
|||
|
8ba3365456
|
|||
|
56f3c3c5e9
|
|||
|
86025dc787
|
|||
|
8cd05c1d8f
|
|||
|
4103176fa4
|
|||
|
d3de8874bc
|
|||
|
05b437dbf8
|
|||
|
62639b6002
|
142
flake.lock
generated
142
flake.lock
generated
@@ -23,7 +23,7 @@
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -39,6 +39,39 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakey-profile": {
|
||||
"locked": {
|
||||
"lastModified": 1712898590,
|
||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -46,11 +79,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746317522,
|
||||
"narHash": "sha256-/jZ4Wd4HHUEWPSlNj48k1E4Mh+1fUbwI/vSlPPIMG3U=",
|
||||
"lastModified": 1749479111,
|
||||
"narHash": "sha256-0cn4NGnYR3n0m8FPrt+pW817Cedi4vwOw3SgJaTcdcg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "621986fed37c5d0cb8df010ed8369694dc47c09b",
|
||||
"rev": "35e1f5a7c29f2b05e8f53177f6b5c71108c5f4c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -73,26 +106,61 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737371634,
|
||||
"narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
|
||||
"lastModified": 1748294338,
|
||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
|
||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.7",
|
||||
"ref": "v0.0.8",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1746827285,
|
||||
"narHash": "sha256-hsFe4Tsqqg4l+FfQWphDtjC79WzNCZbEFhHI8j2KJzw=",
|
||||
"rev": "47aad376c87e2e65967f17099277428e4b3f8e5a",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/47aad376c87e2e65967f17099277428e4b3f8e5a.tar.gz?rev=47aad376c87e2e65967f17099277428e4b3f8e5a"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.93.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746838955,
|
||||
"narHash": "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=",
|
||||
"rev": "cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"matugen": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716548249,
|
||||
@@ -127,11 +195,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1746232882,
|
||||
"narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=",
|
||||
"lastModified": 1749285348,
|
||||
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008",
|
||||
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -147,14 +215,15 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch"
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746309817,
|
||||
"narHash": "sha256-oqOpTyjdeY+LP+WiU9LxGdZ/bZ9YK7MNzNMDUw98kPM=",
|
||||
"lastModified": 1749420898,
|
||||
"narHash": "sha256-QiB3xDyHuj2VzS6AaALTeikLt6EsZyMjDRmzb4y2vFM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "c978122396a4208bf1965d346b7456e7256fe70c",
|
||||
"rev": "2b6f694b48f43bbd89dcc21e8aa7aa676eb18eb8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -165,7 +234,7 @@
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
@@ -173,11 +242,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745046075,
|
||||
"narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
|
||||
"lastModified": 1748298102,
|
||||
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "066afe8643274470f4a294442aadd988356a478f",
|
||||
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -189,6 +258,7 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"lix-module": "lix-module",
|
||||
"matugen": "matugen",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs",
|
||||
@@ -196,6 +266,21 @@
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
@@ -210,7 +295,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
||||
20
flake.nix
20
flake.nix
@@ -1,6 +1,10 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -21,6 +25,7 @@
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
nixvim,
|
||||
lix-module,
|
||||
matugen,
|
||||
nix-flatpak,
|
||||
...
|
||||
@@ -36,7 +41,6 @@
|
||||
allowUnfree = true;
|
||||
allowUnsupportedSystem = true;
|
||||
experimental-features = "nix-command flakes";
|
||||
permittedInsecurePackages = [ "nix-2.25.0pre20240807_cfe66dbe" ];
|
||||
};
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
@@ -68,6 +72,7 @@
|
||||
./modules/nixos
|
||||
./hosts/${hostname}
|
||||
home-manager.nixosModules.home-manager
|
||||
lix-module.nixosModules.default
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
{
|
||||
_module.args =
|
||||
@@ -86,20 +91,25 @@
|
||||
if config.hardware.nvidia.prime.offload.enable then GPUOffloadApp pkg desktopName else pkg;
|
||||
in
|
||||
{
|
||||
inherit username gpu-offload;
|
||||
inherit username hostname gpu-offload;
|
||||
};
|
||||
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||||
networking.hostName = hostname;
|
||||
services.flatpak.enable = true;
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = {
|
||||
inherit username inputs;
|
||||
inherit username hostname inputs;
|
||||
};
|
||||
sharedModules = [
|
||||
matugen.homeManagerModules.default
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
nixvim.homeManagerModules.nixvim
|
||||
./modules/home-manager/modules/nixvim
|
||||
];
|
||||
users.${username} = {
|
||||
imports = [
|
||||
matugen.homeManagerModules.default
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
./modules/home-manager
|
||||
./hosts/${hostname}/home.nix
|
||||
];
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
imports = [ ./hardware-configuration.nix ];
|
||||
|
||||
nix = {
|
||||
package = pkgs.nixVersions.latest;
|
||||
settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
@@ -88,8 +87,8 @@
|
||||
audio.preset.pipewire.enable = true;
|
||||
cc1.enable = true;
|
||||
fv43u.enable = true;
|
||||
virtual-camera.enable = true;
|
||||
hid-fanatecff.enable = true;
|
||||
# virtual-camera.enable = true;
|
||||
# hid-fanatecff.enable = true;
|
||||
|
||||
enableAllFirmware = true;
|
||||
sane.enable = true;
|
||||
@@ -111,7 +110,15 @@
|
||||
nerd-fonts.enable = true;
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
programs = {
|
||||
zsh.enable = true;
|
||||
wireshark = {
|
||||
enable = true;
|
||||
package = pkgs.wireshark;
|
||||
usbmon.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
security.sudo.configFile = ''
|
||||
Defaults env_reset,pwfeedback,passprompt=" "
|
||||
'';
|
||||
@@ -119,6 +126,7 @@
|
||||
users.users.${username} = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [
|
||||
"wireshark"
|
||||
"scanner"
|
||||
"lp"
|
||||
"storage"
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
imports = [ ./hardware-configuration.nix ];
|
||||
|
||||
nix = {
|
||||
package = pkgs.nixVersions.latest;
|
||||
settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
|
||||
@@ -9,7 +9,13 @@
|
||||
};
|
||||
};
|
||||
programs.zoxide.enable = true;
|
||||
home.packages = with pkgs; [ blueman ];
|
||||
home = {
|
||||
packages = with pkgs; [ blueman ];
|
||||
};
|
||||
wayland.windowManager.hyprland.settings.monitor = [
|
||||
"eDP-1,3840x2160@60,0x0,2"
|
||||
"HDMI-A-4,2560x1440@75,1920x-768,1"
|
||||
];
|
||||
systemd.user.services = {
|
||||
nm-applet = {
|
||||
Unit = {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
username,
|
||||
osConfig,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
@@ -11,9 +10,9 @@
|
||||
homeDirectory = "/home/${username}";
|
||||
};
|
||||
imports = [
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
./programs/nixvim/presets
|
||||
./programs/neovide.nix
|
||||
./programs/nixvim.nix
|
||||
./programs/git.nix
|
||||
./packages
|
||||
./programs
|
||||
./services
|
||||
|
||||
@@ -19,6 +19,7 @@ in
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general.allow_tearing = true;
|
||||
input = {
|
||||
accel_profile = "flat";
|
||||
kb_layout = osConfig.services.xserver.xkb.layout;
|
||||
@@ -56,6 +57,7 @@ in
|
||||
layers_hog_keyboard_focus = false;
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
vrr = lib.mkDefault 2;
|
||||
};
|
||||
input.touchpad.natural_scroll = true;
|
||||
gestures.workspace_swipe = true;
|
||||
|
||||
@@ -40,6 +40,13 @@ in
|
||||
action.__raw = # lua
|
||||
"function() vim.diagnostic.open_float(nil) end";
|
||||
}
|
||||
{
|
||||
key = "<leader>sa";
|
||||
mode = "n";
|
||||
options.silent = true;
|
||||
action.__raw = # lua
|
||||
"require('actions-preview').code_actions";
|
||||
}
|
||||
{
|
||||
key = "<leader>sx";
|
||||
mode = "n";
|
||||
@@ -67,10 +74,12 @@ in
|
||||
}
|
||||
];
|
||||
plugins = {
|
||||
actions-preview.enable = true;
|
||||
lsp = {
|
||||
enable = true;
|
||||
inlayHints = false;
|
||||
};
|
||||
lsp-signature.enable = true;
|
||||
telescope = {
|
||||
enable = true;
|
||||
keymaps = {
|
||||
@@ -79,7 +88,6 @@ in
|
||||
"<leader>si" = "lsp_implementations";
|
||||
"<leader>sw" = "lsp_workspace_symbols";
|
||||
"<leader>st" = "lsp_type_definitions";
|
||||
"<leader>sa" = "quickfix";
|
||||
};
|
||||
};
|
||||
inc-rename.enable = true;
|
||||
@@ -1,9 +1,15 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
hostname,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
{
|
||||
options.programs.nixvim = lib.mkOption {
|
||||
type = pkgs.lib.types.submoduleWith {
|
||||
specialArgs = {
|
||||
inherit pkgs;
|
||||
inherit pkgs hostname username;
|
||||
};
|
||||
modules = [
|
||||
./aerial.nix
|
||||
@@ -27,6 +27,7 @@ in
|
||||
};
|
||||
};
|
||||
lsp.servers = {
|
||||
cmake.enable = true;
|
||||
clangd = {
|
||||
enable = true;
|
||||
cmd = [
|
||||
48
modules/home-manager/modules/nixvim/languages/nix.nix
Normal file
48
modules/home-manager/modules/nixvim/languages/nix.nix
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
hostname,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.presets.languages.nix;
|
||||
in
|
||||
{
|
||||
options.presets.languages.nix = {
|
||||
enable = lib.mkEnableOption "Nix";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
plugins = {
|
||||
conform-nvim.settings.formatters_by_ft.nix = [ "nixfmt" ];
|
||||
lsp.servers = {
|
||||
nixd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
nixpkgs.expr = # nix
|
||||
"import (builtins.getFlake (builtins.toString ./.)).inputs.nixpkgs { }";
|
||||
formatting.command = [ "nixfmt" ];
|
||||
options = {
|
||||
nixos.expr = # nix
|
||||
"(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.${hostname}.options";
|
||||
home-manager.expr = # nix
|
||||
"(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.${hostname}.options.home-manager.users.type.getSubOptions []";
|
||||
};
|
||||
};
|
||||
};
|
||||
nil_ls = {
|
||||
enable = false;
|
||||
settings = {
|
||||
formatting.command = [ "nixfmt" ];
|
||||
nix = {
|
||||
maxMemoryMB = 8192;
|
||||
flake.autoEvalInputs = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
extraPackages = [ pkgs.nixfmt-rfc-style ];
|
||||
};
|
||||
}
|
||||
@@ -28,6 +28,8 @@
|
||||
handbrake
|
||||
metadata-cleaner
|
||||
|
||||
prismlauncher
|
||||
|
||||
# chat apps
|
||||
vesktop
|
||||
discord
|
||||
@@ -53,7 +55,7 @@
|
||||
|
||||
# development
|
||||
# TODO: .NET 6 avalonia-ilspy
|
||||
# ghidra
|
||||
ghidra
|
||||
|
||||
# utils
|
||||
libqalculate
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
pinentry = pkgs.pinentry-gnome3;
|
||||
};
|
||||
};
|
||||
git = import ./git.nix;
|
||||
nixvim = import ./nixvim { inherit pkgs; };
|
||||
gpg.enable = true;
|
||||
btop = {
|
||||
enable = true;
|
||||
|
||||
@@ -1,23 +1,26 @@
|
||||
{ ... }:
|
||||
{
|
||||
enable = true;
|
||||
userName = "Thea Schöbl";
|
||||
userEmail = "dev@theaninova.de";
|
||||
signing = {
|
||||
key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA";
|
||||
signByDefault = true;
|
||||
};
|
||||
extraConfig = {
|
||||
pull.rebase = true;
|
||||
init.defaultBranch = "main";
|
||||
merge = {
|
||||
tool = "nvim-mergetool";
|
||||
conflictstyle = "diff3";
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Thea Schöbl";
|
||||
userEmail = "dev@theaninova.de";
|
||||
signing = {
|
||||
key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA";
|
||||
signByDefault = true;
|
||||
};
|
||||
mergetool.nvim-mergetool = {
|
||||
cmd = # sh
|
||||
''nvim -f -c "MergetoolStart" "$MERGED" "$BASE" "$LOCAL" "$REMOTE"'';
|
||||
trustExitCode = true;
|
||||
extraConfig = {
|
||||
pull.rebase = true;
|
||||
init.defaultBranch = "main";
|
||||
merge = {
|
||||
tool = "nvim-mergetool";
|
||||
conflictstyle = "diff3";
|
||||
};
|
||||
mergetool.nvim-mergetool = {
|
||||
cmd = # sh
|
||||
''nvim -f -c "MergetoolStart" "$MERGED" "$BASE" "$LOCAL" "$REMOTE"'';
|
||||
trustExitCode = true;
|
||||
};
|
||||
mergetool.prompt = false;
|
||||
};
|
||||
mergetool.prompt = false;
|
||||
};
|
||||
}
|
||||
|
||||
129
modules/home-manager/programs/nixvim.nix
Normal file
129
modules/home-manager/programs/nixvim.nix
Normal file
@@ -0,0 +1,129 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
vimAlias = true;
|
||||
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
|
||||
tabstop = 2;
|
||||
softtabstop = 2;
|
||||
shiftwidth = 2;
|
||||
expandtab = true;
|
||||
smartindent = true;
|
||||
signcolumn = "yes";
|
||||
|
||||
scrolloff = 12;
|
||||
|
||||
hlsearch = false;
|
||||
incsearch = true;
|
||||
|
||||
updatetime = 50;
|
||||
|
||||
fillchars.eob = " ";
|
||||
};
|
||||
clipboard = {
|
||||
register = "unnamedplus";
|
||||
providers.wl-copy.enable = true;
|
||||
};
|
||||
globals.mapleader = ";";
|
||||
|
||||
presets = {
|
||||
auto-save.enable = true;
|
||||
auto-format.enable = true;
|
||||
harpoon.enable = false;
|
||||
lazygit.enable = true;
|
||||
mergetool.enable = true;
|
||||
trouble.enable = false;
|
||||
undotree.enable = true;
|
||||
aerial.enable = true;
|
||||
base = {
|
||||
completion = {
|
||||
enable = true;
|
||||
copilot = true;
|
||||
};
|
||||
diagnostics.enable = true;
|
||||
coverage.enable = true;
|
||||
find.enable = true;
|
||||
formatting = {
|
||||
enable = true;
|
||||
prettier = true;
|
||||
};
|
||||
spellcheck.enable = true;
|
||||
status-line.enable = true;
|
||||
syntax.enable = true;
|
||||
tree.enable = true;
|
||||
};
|
||||
languages = {
|
||||
angular.enable = true;
|
||||
c = {
|
||||
enable = true;
|
||||
};
|
||||
css = {
|
||||
enable = true;
|
||||
stylelint = true;
|
||||
};
|
||||
dart.enable = true;
|
||||
js = {
|
||||
enable = true;
|
||||
eslint = true;
|
||||
npm = true;
|
||||
};
|
||||
lua.enable = true;
|
||||
nix.enable = true;
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
plugins = {
|
||||
which-key.enable = true;
|
||||
schemastore.enable = true;
|
||||
comment.enable = true;
|
||||
debugprint.enable = true;
|
||||
todo-comments.enable = true;
|
||||
origami.enable = false;
|
||||
nvim-surround.enable = true;
|
||||
hardtime = {
|
||||
enable = true;
|
||||
settings = {
|
||||
disable_mouse = false;
|
||||
disabled_keys = {
|
||||
"<Up>".__raw = "false";
|
||||
"<Down>".__raw = "false";
|
||||
"<Left>".__raw = "false";
|
||||
"<Right>".__raw = "false";
|
||||
};
|
||||
};
|
||||
};
|
||||
treesitter-context = {
|
||||
enable = false; # TODO: looks weird with Neovide
|
||||
settings = {
|
||||
line_numbers = false;
|
||||
};
|
||||
};
|
||||
|
||||
lsp.servers = {
|
||||
html.enable = true;
|
||||
svelte.enable = true;
|
||||
|
||||
dockerls.enable = true;
|
||||
|
||||
yamlls.enable = true;
|
||||
jsonls.enable = true;
|
||||
taplo.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,115 +0,0 @@
|
||||
{ pkgs }:
|
||||
{
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
vimAlias = true;
|
||||
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
|
||||
tabstop = 2;
|
||||
softtabstop = 2;
|
||||
shiftwidth = 2;
|
||||
expandtab = true;
|
||||
smartindent = true;
|
||||
signcolumn = "yes";
|
||||
|
||||
scrolloff = 12;
|
||||
|
||||
hlsearch = false;
|
||||
incsearch = true;
|
||||
|
||||
updatetime = 50;
|
||||
|
||||
fillchars.eob = " ";
|
||||
};
|
||||
clipboard = {
|
||||
register = "unnamedplus";
|
||||
providers.wl-copy.enable = true;
|
||||
};
|
||||
globals.mapleader = ";";
|
||||
|
||||
presets = {
|
||||
auto-save.enable = true;
|
||||
auto-format.enable = true;
|
||||
# harpoon.enable = true;
|
||||
lazygit.enable = true;
|
||||
mergetool.enable = true;
|
||||
trouble.enable = true;
|
||||
undotree.enable = true;
|
||||
aerial.enable = true;
|
||||
base = {
|
||||
completion = {
|
||||
enable = true;
|
||||
copilot = true;
|
||||
};
|
||||
diagnostics.enable = true;
|
||||
coverage.enable = true;
|
||||
find.enable = true;
|
||||
formatting = {
|
||||
enable = true;
|
||||
prettier = true;
|
||||
};
|
||||
spellcheck.enable = false;
|
||||
status-line.enable = true;
|
||||
syntax.enable = true;
|
||||
tree.enable = true;
|
||||
};
|
||||
languages = {
|
||||
angular.enable = true;
|
||||
c = {
|
||||
enable = true;
|
||||
# cppcheck = true;
|
||||
};
|
||||
css = {
|
||||
enable = true;
|
||||
stylelint = true;
|
||||
};
|
||||
dart.enable = true;
|
||||
js = {
|
||||
enable = true;
|
||||
eslint = true;
|
||||
npm = true;
|
||||
};
|
||||
lua.enable = true;
|
||||
nix.enable = true;
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
plugins = {
|
||||
vim-surround.enable = true;
|
||||
which-key.enable = true;
|
||||
schemastore.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;
|
||||
};
|
||||
};
|
||||
|
||||
lsp.servers = {
|
||||
html.enable = true;
|
||||
svelte.enable = true;
|
||||
|
||||
dockerls.enable = true;
|
||||
|
||||
yamlls.enable = true;
|
||||
jsonls.enable = true;
|
||||
taplo.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.presets.languages.nix;
|
||||
in
|
||||
{
|
||||
options.presets.languages.nix = {
|
||||
enable = lib.mkEnableOption "Nix";
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
extraPackages = [ pkgs.nixfmt-rfc-style ];
|
||||
};
|
||||
}
|
||||
@@ -37,6 +37,8 @@ in
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
# https://github.com/swaywm/sway/issues/6272
|
||||
_JAVA_AWT_WM_NONREPARENTING = "1";
|
||||
};
|
||||
};
|
||||
xdg.configFile."uwsm/env".source = pkgs.writeText "env" (
|
||||
|
||||
@@ -49,18 +49,15 @@ in
|
||||
DXVK_HDR = "1";
|
||||
};
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
general = {
|
||||
layout = "master";
|
||||
allow_tearing = true;
|
||||
};
|
||||
general.layout = "master";
|
||||
master = {
|
||||
orientation = "center";
|
||||
slave_count_for_center_master = 0;
|
||||
mfact = 0.4;
|
||||
};
|
||||
render.direct_scanout = 1;
|
||||
# render.direct_scanout = 1;
|
||||
monitor = [
|
||||
"DP-3,3840x2160@144,0x0,1,bitdepth,10"
|
||||
"DP-3,3840x2160@144,0x0,1,bitdepth,10,cm,auto"
|
||||
"DP-3,addreserved,340,0,0,0"
|
||||
];
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
@@ -24,11 +24,17 @@ in
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
polkit_gnome
|
||||
(gnome-keyring.overrideAttrs (oldAttrs: {
|
||||
configureFlags = oldAttrs.configureFlags ++ [
|
||||
"--disable-ssh-agent"
|
||||
];
|
||||
}))
|
||||
(gnome-keyring.overrideAttrs (
|
||||
{
|
||||
configureFlags ? [ ],
|
||||
...
|
||||
}:
|
||||
{
|
||||
configureFlags = configureFlags ++ [
|
||||
"--disable-ssh-agent"
|
||||
];
|
||||
}
|
||||
))
|
||||
];
|
||||
/*
|
||||
systemd.user.services = {
|
||||
|
||||
Reference in New Issue
Block a user