Updated flake

This commit is contained in:
Aleksandr Lebedev 2025-01-08 13:07:32 +01:00
parent feea0e16f3
commit 7c209c2a6f
7 changed files with 268 additions and 2830 deletions

12
flake.lock generated
View file

@ -638,18 +638,16 @@
"nvf": "nvf"
},
"locked": {
"dir": "nixos/modules/neovim",
"lastModified": 1736204012,
"narHash": "sha256-vfhrQ5M887eQ5pb2/6azQE+NzlphHAIZPEBqBF7ozAc=",
"lastModified": 1736335130,
"narHash": "sha256-9EZtqVX0QrR3sjKYSU7Q+zczwTRq6TWei7NedCM6v5A=",
"owner": "kylekrein",
"repo": "nixos-config",
"rev": "cbbe4aea64911e2eb34b603106137e3969695e50",
"repo": "neovim",
"rev": "05a67cf92bf0fe80a8ff857f5c9e8ccd0750f63a",
"type": "github"
},
"original": {
"dir": "nixos/modules/neovim",
"owner": "kylekrein",
"repo": "nixos-config",
"repo": "neovim",
"type": "github"
}
},

View file

@ -6,7 +6,7 @@
url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
neovim = {
url = "github:kylekrein/nixos-config?dir=nixos/modules/neovim";
url = "github:kylekrein/neovim";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";

View file

@ -1,9 +1,15 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, lib, pkgs, hwconfig, first-nixos-install, inputs, ... }:
{
config,
lib,
pkgs,
hwconfig,
first-nixos-install,
inputs,
...
}: {
imports =
[
inputs.sops-nix.nixosModules.sops
@ -21,7 +27,10 @@
facter.reportPath = ./hosts/${hwconfig.hostname}/facter.json;
kylekrein.services.autoUpgrade = {
enable = true;
pushUpdates = if hwconfig.hostname == "kylekrein-homepc" then true else false;
pushUpdates =
if hwconfig.hostname == "kylekrein-homepc"
then true
else false;
configDir = "/etc/nixos-config";
user = "root";
};
@ -34,7 +43,10 @@
};
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = if hwconfig.hostname != "kylekrein-mac" then true else false;
efi.canTouchEfiVariables =
if hwconfig.hostname != "kylekrein-mac"
then true
else false;
};
# Enable "Silent Boot"
consoleLogLevel = 0;
@ -119,9 +131,7 @@
#background;
loginBackground = false;
})
joplin-desktop
kdenlive
super-productivity
system-config-printer
libreoffice
helvum
@ -237,9 +247,8 @@
security.polkit.enable = true;
programs.steam = {
enable = (hwconfig.system == "x86_64-linux");
enable = hwconfig.system == "x86_64-linux";
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
@ -268,7 +277,12 @@
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {inherit pkgs; inherit hwconfig; inherit first-nixos-install; inherit inputs;};
extraSpecialArgs = {
inherit pkgs;
inherit hwconfig;
inherit first-nixos-install;
inherit inputs;
};
};
stylix = {
enable = true;
@ -311,13 +325,11 @@
openFirewall = true;
};
#services.flatpak.enable = true;
#services.flatpak.packages = [
# "flathub:app/org.kde.dolphin//stable"
# ];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;

View file

@ -1,13 +1,23 @@
{ config, lib, pkgs, hwconfig, first-nixos-install, username, inputs, ... }:
let
in
{
config,
lib,
pkgs,
hwconfig,
first-nixos-install,
username,
inputs,
...
}: let
in {
imports =
[
./modules/fastfetch
./modules/tmux/home.nix
] ++ lib.optional (hwconfig.useImpermanence) (import ./modules/impermanence/home.nix { inherit username; inherit inputs; } )
]
++ lib.optional (hwconfig.useImpermanence) (import ./modules/impermanence/home.nix {
inherit username;
inherit inputs;
})
++ lib.optional (config.programs.hyprland.enable) ./modules/hyprland/home.nix
++ lib.optional (builtins.pathExists ./homes/${username}) (import ./homes/${username} {inherit username;});
# Home Manager needs a bit of information about you and the paths it should
@ -83,7 +93,6 @@
#vscode-fhs
];
programs.kitty = {
enable = true;
font = {
@ -99,7 +108,6 @@
# See all available kitty themes at: https://github.com/kovidgoyal/kitty-themes/blob/46d9dfe230f315a6a0c62f4687f6b3da20fd05e4/themes.json
};
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {

File diff suppressed because it is too large Load diff

View file

@ -1,34 +0,0 @@
{
description = "A neovim configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nvf.url = "github:notashelf/nvf";
};
outputs = {
self,
nixpkgs,
nvf,
...
}: {
packages.x86_64-linux.default =
(nvf.lib.neovimConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [./nvf-configuration.nix];
})
.neovim;
packages.aarch64-linux.default =
(nvf.lib.neovimConfiguration {
pkgs = nixpkgs.legacyPackages.aarch64-linux;
modules = [./nvf-configuration.nix];
})
.neovim;
packages.aarch64-darwin.default =
(nvf.lib.neovimConfiguration {
pkgs = nixpkgs.legacyPackages.aarch64-darwin;
modules = [./nvf-configuration.nix];
})
.neovim;
};
}

View file

@ -1,205 +0,0 @@
{
pkgs,
lib,
...
}: {
vim = {
spellcheck.enable = true;
viAlias = true;
vimAlias = true;
shiftwidth = 16;
tabstop = 16;
useSystemClipboard = true;
lineNumberMode = "number";
languages = {
enableFormat = true;
enableLSP = true;
enableTreesitter = true;
nix.enable = true;
rust.enable = true;
clang.enable = true;
rust.crates.enable = true;
csharp.enable = true;
# Nim LSP is broken on Darwin and therefore
# should be disabled by default. Users may still enable
# `vim.languages.vim` to enable it, this does not restrict
# that.
# See: <https://github.com/PMunch/nimlsp/issues/178#issue-2128106096>
nim.enable = false;
};
lsp = {
formatOnSave = true;
lspkind.enable = false;
lightbulb.enable = true;
lspsaga.enable = false;
trouble.enable = true;
lspSignature.enable = true;
otter-nvim.enable = true;
lsplines.enable = true;
nvim-docs-view.enable = true;
};
debugger = {
nvim-dap = {
enable = true;
ui.enable = true;
};
};
visuals = {
nvim-scrollbar.enable = true;
nvim-web-devicons.enable = true;
nvim-cursorline.enable = true;
cinnamon-nvim.enable = true;
fidget-nvim.enable = true;
highlight-undo.enable = true;
indent-blankline.enable = true;
# Fun
cellular-automaton.enable = false;
};
statusline = {
lualine = {
enable = true;
theme = "catppuccin";
};
};
theme = {
enable = true;
name = "catppuccin";
style = "mocha";
transparent = false;
};
autopairs.nvim-autopairs.enable = true;
autocomplete.nvim-cmp.enable = true;
snippets.luasnip.enable = true;
filetree = {
neo-tree = {
enable = true;
};
};
tabline = {
nvimBufferline.enable = true;
};
treesitter.context.enable = true;
binds = {
whichKey.enable = true;
cheatsheet.enable = true;
};
telescope.enable = true;
git = {
enable = true;
gitsigns.enable = true;
gitsigns.codeActions.enable = false; # throws an annoying debug message
};
minimap = {
minimap-vim.enable = false;
codewindow.enable = true; # lighter, faster, and uses lua for configuration
};
dashboard = {
dashboard-nvim.enable = false;
alpha.enable = true;
};
notify = {
nvim-notify.enable = true;
};
projects = {
project-nvim.enable = true;
};
utility = {
ccc.enable = false;
vim-wakatime.enable = false;
icon-picker.enable = true;
surround.enable = true;
diffview-nvim.enable = true;
motion = {
hop.enable = true;
leap.enable = true;
precognition.enable = true;
};
images = {
image-nvim.enable = false;
};
};
notes = {
obsidian.enable = false; # FIXME: neovim fails to build if obsidian is enabled
neorg.enable = false;
orgmode.enable = false;
mind-nvim.enable = true;
todo-comments.enable = true;
};
terminal = {
toggleterm = {
enable = true;
lazygit.enable = true;
};
};
ui = {
borders.enable = true;
noice.enable = true;
colorizer.enable = true;
modes-nvim.enable = false; # the theme looks terrible with catppuccin
illuminate.enable = true;
breadcrumbs = {
enable = true;
navbuddy.enable = true;
};
smartcolumn = {
enable = true;
setupOpts.custom_colorcolumn = {
# this is a freeform module, it's `buftype = int;` for configuring column position
nix = "110";
ruby = "120";
java = "130";
go = ["90" "130"];
};
};
fastaction.enable = true;
};
assistant = {
chatgpt.enable = false;
copilot = {
enable = false;
cmp.enable = true;
};
};
session = {
nvim-session-manager.enable = false;
};
gestures = {
gesture-nvim.enable = false;
};
comments = {
comment-nvim.enable = true;
};
presence = {
neocord.enable = false;
};
};
}