Updated flake
This commit is contained in:
parent
feea0e16f3
commit
7c209c2a6f
7 changed files with 268 additions and 2830 deletions
12
flake.lock
generated
12
flake.lock
generated
|
|
@ -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"
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -1,40 +1,52 @@
|
|||
# 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
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.nixos-facter-modules.nixosModules.facter
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.disko.nixosModules.default
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.nixos-facter-modules.nixosModules.facter
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.disko.nixosModules.default
|
||||
|
||||
./modules/firefox
|
||||
./modules/services/autoupgrade
|
||||
./modules/sops
|
||||
./hosts/${hwconfig.hostname}
|
||||
./modules/firefox
|
||||
./modules/services/autoupgrade
|
||||
./modules/sops
|
||||
./hosts/${hwconfig.hostname}
|
||||
]
|
||||
++ lib.optional (hwconfig.useImpermanence) ./modules/impermanence;
|
||||
facter.reportPath = ./hosts/${hwconfig.hostname}/facter.json;
|
||||
kylekrein.services.autoUpgrade = {
|
||||
enable = true;
|
||||
pushUpdates = if hwconfig.hostname == "kylekrein-homepc" then true else false;
|
||||
configDir = "/etc/nixos-config";
|
||||
user = "root";
|
||||
};
|
||||
|
||||
boot = {
|
||||
facter.reportPath = ./hosts/${hwconfig.hostname}/facter.json;
|
||||
kylekrein.services.autoUpgrade = {
|
||||
enable = true;
|
||||
pushUpdates =
|
||||
if hwconfig.hostname == "kylekrein-homepc"
|
||||
then true
|
||||
else false;
|
||||
configDir = "/etc/nixos-config";
|
||||
user = "root";
|
||||
};
|
||||
|
||||
boot = {
|
||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
|
||||
plymouth = {
|
||||
enable = true;
|
||||
enable = true;
|
||||
};
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = if hwconfig.hostname != "kylekrein-mac" then true else false;
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables =
|
||||
if hwconfig.hostname != "kylekrein-mac"
|
||||
then true
|
||||
else false;
|
||||
};
|
||||
# Enable "Silent Boot"
|
||||
consoleLogLevel = 0;
|
||||
|
|
@ -89,115 +101,113 @@
|
|||
options = "grp:caps_toggle";
|
||||
};
|
||||
console.keyMap = "us";
|
||||
|
||||
|
||||
services.udisks2.enable = true;
|
||||
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
users = {
|
||||
root = {
|
||||
# disable root login here, and also when installing nix by running nixos-install --no-root-passwd
|
||||
# https://discourse.nixos.org/t/how-to-disable-root-user-account-in-configuration-nix/13235/3
|
||||
hashedPassword = "!"; # disable root logins, nothing hashes to !
|
||||
};
|
||||
root = {
|
||||
# disable root login here, and also when installing nix by running nixos-install --no-root-passwd
|
||||
# https://discourse.nixos.org/t/how-to-disable-root-user-account-in-configuration-nix/13235/3
|
||||
hashedPassword = "!"; # disable root logins, nothing hashes to !
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "qt5ct";
|
||||
style = "kvantum";
|
||||
enable = true;
|
||||
platformTheme = "qt5ct";
|
||||
style = "kvantum";
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
(catppuccin-sddm.override {
|
||||
flavor = "mocha";
|
||||
# font = "";
|
||||
fontSize = "16";
|
||||
#background;
|
||||
loginBackground = false;
|
||||
})
|
||||
joplin-desktop
|
||||
kdenlive
|
||||
super-productivity
|
||||
system-config-printer
|
||||
libreoffice
|
||||
helvum
|
||||
killall
|
||||
nix-output-monitor
|
||||
eza
|
||||
fd
|
||||
(pkgs.writeShellScriptBin "root-files" ''
|
||||
${pkgs.fd}/bin/fd --one-file-system --base-directory / --type f --hidden --exclude "{tmp,etc/passwd}"
|
||||
'') #https://www.reddit.com/r/NixOS/comments/1d1apm0/comment/l5tgbwz/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
|
||||
gparted
|
||||
exfatprogs
|
||||
kitty
|
||||
yazi
|
||||
tealdeer
|
||||
fzf
|
||||
lazygit
|
||||
kdePackages.qtwayland
|
||||
#libsForQt5.qt5.qtwayland
|
||||
#libsForQt5.qt5.qtsvg
|
||||
kdePackages.qtsvg
|
||||
#kio-fuse #to mount remote filesystems via FUSE
|
||||
#libsForQt5.kio-extras #extra protocols support (sftp, fish and more)
|
||||
kdePackages.kio-fuse #to mount remote filesystems via FUSE
|
||||
kdePackages.kio-extras #extra protocols support (sftp, fish and more)
|
||||
fastfetch
|
||||
firefox
|
||||
telegram-desktop
|
||||
vlc
|
||||
wl-clipboard
|
||||
git
|
||||
git-credential-manager
|
||||
egl-wayland
|
||||
kitty-themes
|
||||
btop
|
||||
solaar
|
||||
(catppuccin-sddm.override {
|
||||
flavor = "mocha";
|
||||
# font = "";
|
||||
fontSize = "16";
|
||||
#background;
|
||||
loginBackground = false;
|
||||
})
|
||||
kdenlive
|
||||
system-config-printer
|
||||
libreoffice
|
||||
helvum
|
||||
killall
|
||||
nix-output-monitor
|
||||
eza
|
||||
fd
|
||||
(pkgs.writeShellScriptBin "root-files" ''
|
||||
${pkgs.fd}/bin/fd --one-file-system --base-directory / --type f --hidden --exclude "{tmp,etc/passwd}"
|
||||
'') #https://www.reddit.com/r/NixOS/comments/1d1apm0/comment/l5tgbwz/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
|
||||
gparted
|
||||
exfatprogs
|
||||
kitty
|
||||
yazi
|
||||
tealdeer
|
||||
fzf
|
||||
lazygit
|
||||
kdePackages.qtwayland
|
||||
#libsForQt5.qt5.qtwayland
|
||||
#libsForQt5.qt5.qtsvg
|
||||
kdePackages.qtsvg
|
||||
#kio-fuse #to mount remote filesystems via FUSE
|
||||
#libsForQt5.kio-extras #extra protocols support (sftp, fish and more)
|
||||
kdePackages.kio-fuse #to mount remote filesystems via FUSE
|
||||
kdePackages.kio-extras #extra protocols support (sftp, fish and more)
|
||||
fastfetch
|
||||
firefox
|
||||
telegram-desktop
|
||||
vlc
|
||||
wl-clipboard
|
||||
git
|
||||
git-credential-manager
|
||||
egl-wayland
|
||||
kitty-themes
|
||||
btop
|
||||
solaar
|
||||
|
||||
#kde
|
||||
kdePackages.kate
|
||||
kdePackages.gwenview
|
||||
kdePackages.breeze-icons
|
||||
kdePackages.breeze
|
||||
kdePackages.ark
|
||||
kdePackages.qtstyleplugin-kvantum
|
||||
kdePackages.okular
|
||||
kdePackages.kcalc
|
||||
polkit-kde-agent
|
||||
kdePackages.kdeconnect-kde
|
||||
kdePackages.kdesdk-thumbnailers
|
||||
kdePackages.kdegraphics-thumbnailers
|
||||
catppuccin-kvantum
|
||||
kdePackages.kservice
|
||||
kdePackages.kdbusaddons
|
||||
kdePackages.kfilemetadata
|
||||
kdePackages.kconfig
|
||||
kdePackages.kcoreaddons
|
||||
kdePackages.kcrash
|
||||
kdePackages.kguiaddons
|
||||
kdePackages.ki18n
|
||||
kdePackages.kitemviews
|
||||
kdePackages.kwidgetsaddons
|
||||
kdePackages.kwindowsystem
|
||||
shared-mime-info
|
||||
#kdePackages.plasma-workspace
|
||||
#kde
|
||||
kdePackages.kate
|
||||
kdePackages.gwenview
|
||||
kdePackages.breeze-icons
|
||||
kdePackages.breeze
|
||||
kdePackages.ark
|
||||
kdePackages.qtstyleplugin-kvantum
|
||||
kdePackages.okular
|
||||
kdePackages.kcalc
|
||||
polkit-kde-agent
|
||||
kdePackages.kdeconnect-kde
|
||||
kdePackages.kdesdk-thumbnailers
|
||||
kdePackages.kdegraphics-thumbnailers
|
||||
catppuccin-kvantum
|
||||
kdePackages.kservice
|
||||
kdePackages.kdbusaddons
|
||||
kdePackages.kfilemetadata
|
||||
kdePackages.kconfig
|
||||
kdePackages.kcoreaddons
|
||||
kdePackages.kcrash
|
||||
kdePackages.kguiaddons
|
||||
kdePackages.ki18n
|
||||
kdePackages.kitemviews
|
||||
kdePackages.kwidgetsaddons
|
||||
kdePackages.kwindowsystem
|
||||
shared-mime-info
|
||||
#kdePackages.plasma-workspace
|
||||
|
||||
#kde support tools
|
||||
libsForQt5.qt5ct
|
||||
qt6ct
|
||||
kdePackages.kimageformats
|
||||
kdePackages.dolphin
|
||||
kdePackages.dolphin-plugins
|
||||
# user packages
|
||||
obs-studio
|
||||
vesktop
|
||||
vscode-fhs
|
||||
inputs.neovim.packages.${hwconfig.system}.default
|
||||
#kde support tools
|
||||
libsForQt5.qt5ct
|
||||
qt6ct
|
||||
kdePackages.kimageformats
|
||||
kdePackages.dolphin
|
||||
kdePackages.dolphin-plugins
|
||||
# user packages
|
||||
obs-studio
|
||||
vesktop
|
||||
vscode-fhs
|
||||
inputs.neovim.packages.${hwconfig.system}.default
|
||||
];
|
||||
programs.kdeconnect.enable = true;
|
||||
programs.kdeconnect.package = lib.mkDefault pkgs.kdePackages.kdeconnect-kde;
|
||||
|
|
@ -208,115 +218,117 @@
|
|||
clean.extraArgs = "--keep-since 4d --keep 3";
|
||||
flake = "/etc/nixos-config";
|
||||
};
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.jetbrains-mono
|
||||
font-awesome
|
||||
hack-font
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.jetbrains-mono
|
||||
font-awesome
|
||||
hack-font
|
||||
];
|
||||
environment.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
MANPAGER = "nvim +Man!";
|
||||
EDITOR = "nvim";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
MANPAGER = "nvim +Man!";
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
hardware = {
|
||||
graphics = {
|
||||
enable = true;
|
||||
};
|
||||
logitech.wireless.enable = true;
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
settings = {
|
||||
General = {
|
||||
Experimental = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
graphics = {
|
||||
enable = true;
|
||||
};
|
||||
logitech.wireless.enable = true;
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
settings = {
|
||||
General = {
|
||||
Experimental = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
|
||||
programs.steam = {
|
||||
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
|
||||
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
|
||||
};
|
||||
|
||||
#programs.thunar = {
|
||||
# enable = true;
|
||||
# plugins = with pkgs.xfce; [
|
||||
# thunar-archive-plugin
|
||||
# thunar-volman
|
||||
# ];
|
||||
# };
|
||||
# enable = true;
|
||||
# plugins = with pkgs.xfce; [
|
||||
# thunar-archive-plugin
|
||||
# thunar-volman
|
||||
# ];
|
||||
# };
|
||||
#programs.xfconf.enable = true; # so thunar can save config
|
||||
#services.gvfs.enable = true; # Mount, trash, and other functionalities
|
||||
#services.tumbler.enable = true; # Thumbnail support for images
|
||||
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = {inherit pkgs; inherit hwconfig; inherit first-nixos-install; inherit inputs;};
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs;
|
||||
inherit hwconfig;
|
||||
inherit first-nixos-install;
|
||||
inherit inputs;
|
||||
};
|
||||
};
|
||||
stylix = {
|
||||
enable = true;
|
||||
image = "${./modules/hyprland/wallpaper.jpg}";
|
||||
autoEnable = true;
|
||||
opacity = {
|
||||
desktop = 0.5;
|
||||
};
|
||||
targets = {
|
||||
gtk.enable = true;
|
||||
plymouth = {
|
||||
enable = true;
|
||||
#logo = ./fastfetch/nixos.png;
|
||||
logoAnimated = false;
|
||||
};
|
||||
};
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 14;
|
||||
desktop = 12;
|
||||
popups = 12;
|
||||
terminal = 16;
|
||||
};
|
||||
};
|
||||
polarity = "dark";
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||
enable = true;
|
||||
image = "${./modules/hyprland/wallpaper.jpg}";
|
||||
autoEnable = true;
|
||||
opacity = {
|
||||
desktop = 0.5;
|
||||
};
|
||||
targets = {
|
||||
gtk.enable = true;
|
||||
plymouth = {
|
||||
enable = true;
|
||||
#logo = ./fastfetch/nixos.png;
|
||||
logoAnimated = false;
|
||||
};
|
||||
};
|
||||
fonts = {
|
||||
sizes = {
|
||||
applications = 14;
|
||||
desktop = 12;
|
||||
popups = 12;
|
||||
terminal = 16;
|
||||
};
|
||||
};
|
||||
polarity = "dark";
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
shellAliases = {
|
||||
ls = "${pkgs.eza}/bin/eza --icons=always";
|
||||
ls = "${pkgs.eza}/bin/eza --icons=always";
|
||||
};
|
||||
};
|
||||
|
||||
#printing
|
||||
services.printing.enable = true;
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
#services.flatpak.enable = true;
|
||||
#services.flatpak.packages = [
|
||||
# "flathub:app/org.kde.dolphin//stable"
|
||||
# ];
|
||||
|
||||
# "flathub:app/org.kde.dolphin//stable"
|
||||
# ];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
|
|
@ -332,8 +344,8 @@
|
|||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
networking.firewall.allowedTCPPorts = [ 22 ];
|
||||
networking.firewall.allowedUDPPorts = [ 22 ];
|
||||
networking.firewall.allowedTCPPorts = [22];
|
||||
networking.firewall.allowedUDPPorts = [22];
|
||||
# Or disable the firewall altogether.
|
||||
#networking.firewall.enable = false;
|
||||
|
||||
|
|
@ -344,20 +356,20 @@
|
|||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
|
||||
|
||||
services.xserver.enable = true;
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
theme = "catppuccin-mocha";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
wayland.enable = false;
|
||||
enable = true;
|
||||
theme = "catppuccin-mocha";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
wayland.enable = false;
|
||||
};
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
auto-optimise-store = true;
|
||||
substituters = ["https://hyprland.cachix.org" "https://nix-gaming.cachix.org" ];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
|
||||
settings = {
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
auto-optimise-store = true;
|
||||
substituters = ["https://hyprland.cachix.org" "https://nix-gaming.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,44 +1,54 @@
|
|||
{ 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; } )
|
||||
./modules/fastfetch
|
||||
./modules/tmux/home.nix
|
||||
]
|
||||
++ 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; });
|
||||
++ 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
|
||||
# manage.
|
||||
home.username = username;
|
||||
home.homeDirectory = "/home/${username}";
|
||||
stylix = {
|
||||
enable = true;
|
||||
enable = true;
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "qtct";
|
||||
style.name = "kvantum";
|
||||
enable = true;
|
||||
platformTheme.name = "qtct";
|
||||
style.name = "kvantum";
|
||||
};
|
||||
#xdg.configFile."Kvantum/kvantum.kvconfig".source = (pkgs.formats.ini {}).generate "kvantum.kvconfig" {
|
||||
# General.theme = "Catppuccin-Mocha";
|
||||
# };
|
||||
#xdg.configFile = {
|
||||
# "Kvantum/kvantum.kvconfig".text = ''
|
||||
# [General]
|
||||
# theme=catppuccin-mocha
|
||||
# '';
|
||||
# General.theme = "Catppuccin-Mocha";
|
||||
# };
|
||||
#xdg.configFile = {
|
||||
# "Kvantum/kvantum.kvconfig".text = ''
|
||||
# [General]
|
||||
# theme=catppuccin-mocha
|
||||
# '';
|
||||
|
||||
# The important bit is here, links the theme directory from the package to a directory under `~/.config`
|
||||
# where Kvantum should find it.
|
||||
# "Kvantum/catppuccin-mocha".source = "${pkgs.catppuccin-kvantum}/share/Kvantum/catppuccin-mocha";
|
||||
# The important bit is here, links the theme directory from the package to a directory under `~/.config`
|
||||
# where Kvantum should find it.
|
||||
# "Kvantum/catppuccin-mocha".source = "${pkgs.catppuccin-kvantum}/share/Kvantum/catppuccin-mocha";
|
||||
#};
|
||||
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
programs.eza = {
|
||||
|
|
@ -47,8 +57,8 @@
|
|||
};
|
||||
|
||||
#xdg.configFile."qt5ct/qt5ct.conf".source = (pkgs.formats.ini {}).generate "kvantum.kvconfig" {
|
||||
# Appearance.icon_theme = "Breeze Dark";
|
||||
# };
|
||||
# Appearance.icon_theme = "Breeze Dark";
|
||||
# };
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
|
|
@ -61,7 +71,7 @@
|
|||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = with pkgs;[
|
||||
home.packages = with pkgs; [
|
||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||
# # "Hello, world!" when run.
|
||||
# pkgs.hello
|
||||
|
|
@ -83,23 +93,21 @@
|
|||
#vscode-fhs
|
||||
];
|
||||
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
#name = "JetBrainsMono Nerd Font";
|
||||
#size = 16;
|
||||
};
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
};
|
||||
#shellIntegration.enableFishIntegration = true;
|
||||
themeFile = "Catppuccin-Macchiato";
|
||||
#Also available: Catppuccin-Frappe Catppuccin-Latte Catppuccin-Macchiato Catppuccin-Mocha
|
||||
# See all available kitty themes at: https://github.com/kovidgoyal/kitty-themes/blob/46d9dfe230f315a6a0c62f4687f6b3da20fd05e4/themes.json
|
||||
enable = true;
|
||||
font = {
|
||||
#name = "JetBrainsMono Nerd Font";
|
||||
#size = 16;
|
||||
};
|
||||
|
||||
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
};
|
||||
#shellIntegration.enableFishIntegration = true;
|
||||
themeFile = "Catppuccin-Macchiato";
|
||||
#Also available: Catppuccin-Frappe Catppuccin-Latte Catppuccin-Macchiato Catppuccin-Mocha
|
||||
# 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 = {
|
||||
|
|
|
|||
2341
nixos/modules/neovim/flake.lock
generated
2341
nixos/modules/neovim/flake.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue