wip: prepare for nix

This commit is contained in:
Fabio Lenherr / DashieTM 2024-04-14 14:43:43 +02:00
parent 79ed239d07
commit 6671b54dd2
32 changed files with 1282 additions and 43 deletions

2
copyq/copyq-monitor.ini Normal file
View file

@ -0,0 +1,2 @@
[General]
running=true

View file

@ -0,0 +1,5 @@
85151
copyq
spaceship
a10dc6f271ba47d988a3b282250928e2
7a5c3018-9d8d-4024-8ca6-df464de8b3dd

View file

@ -1,2 +0,0 @@
[Settings]
gtk-application-prefer-dark-theme=true

View file

@ -1,5 +1,4 @@
input {
kb_layout=diaeresis
repeat_delay=200
natural_scroll=false
follow_mouse=1
@ -12,7 +11,7 @@ input {
general {
sensitivity=1.0
gaps_in=3
gaps_in=5
gaps_out=3,5,5,5
border_size=3
col.active_border=0xFFFF0000 0xFF00FF00 0xFF0000FF 45deg

View file

@ -2,6 +2,9 @@
monitor=DP-2,2560x1440@165,0x0,1
monitor=DP-1,3440x1440@180,2560x0,1
monitor=HDMI-A-1,1920x1200@60,6000x0,1
#monitor=DP-2,2560x1440@165,-2560x0,1
#monitor=DP-1,3440x1440@180,0x0,1
#monitor=HDMI-A-1,1920x1200@60,3440x0,1
monitor=HDMI-A-1,transform,1
monitor=,highrr,auto,1

View file

@ -1,12 +1,16 @@
exec-once= hyprpm reload -n && hyprctl reload
plugin {
hycov {
enable_hotarea = 0
overview_gappo = 30
overview_gappi = 10
auto_fullscreen = 0
bind = SUPER,W,hycov:toggleoverview
hyprspace {
columns = 3
gap_size = 5
bg_col = rgb(111111)
workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = true # laptop touchpad, 4 fingers
gesture_distance = 300 # how far is the "max"
gesture_positive = true # positive = swipe down. Negative = swipe up.
bind = SUPER, W, overview:toggle, toggle # can be: toggle, off/disable or on/enable
}
}

View file

@ -4,5 +4,5 @@ source=/home/dashie/.config/hypr/conf/general.conf
source=/home/dashie/.config/hypr/conf/rules.conf
source=/home/dashie/.config/hypr/conf/keybinds.conf
source=/home/dashie/.config/hypr/conf/autostart.conf
#source=/home/dashie/.config/hypr/conf/plugins.conf
source=/home/dashie/.config/hypr/conf/plugins.conf

76
nix/configuration.nix Normal file
View file

@ -0,0 +1,76 @@
# 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, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader.
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.useOSProber = true;
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
services.flatpak.enable = true;
# Set your time zone.
time.timeZone = "Europe/Zurich";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Define a user account. Don't forget to set a password with passwd.
users.users.dashie = {
isNormalUser = true;
description = "dashie";
extraGroups = [ "networkmanager" "wheel" "gamemode"];
packages = with pkgs; [
home-manager
];
};
# Allow unfree packages
# nixpkgs.config.allowUnfree = true;
system.stateVersion = "unstable"; # Did you read the comment?
}

303
nix/flake.lock generated Normal file
View file

@ -0,0 +1,303 @@
{
"nodes": {
"flatpaks": {
"inputs": {
"nixpkgs": "nixpkgs",
"utils": "utils"
},
"locked": {
"lastModified": 1707326266,
"narHash": "sha256-vRVih6iltuyLdj305Pj236BfhzFaOkAbHg3r5VsFdxs=",
"owner": "GermanBread",
"repo": "declarative-flatpak",
"rev": "efe7897ddcfbca085fba0690b3094e7f8e8911dd",
"type": "github"
},
"original": {
"owner": "GermanBread",
"ref": "stable",
"repo": "declarative-flatpak",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1709578214,
"narHash": "sha256-jSCHB1+9eA0S2h7G8Aju8XARK0vbDuOR7uFFvCEsKhk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "219f4bef6d22bc67cddefbba69aadb748d79c49d",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.05",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1712434681,
"narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprland": {
"inputs": {
"hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"nixpkgs": "nixpkgs_2",
"systems": "systems_2",
"wlroots": "wlroots",
"xdph": "xdph"
},
"locked": {
"lastModified": 1713050186,
"narHash": "sha256-AKdzVa0Zz5PQ1ptQgD0jj8J+UZUW9OeKGZ0mNVnkyI4=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "0634aaeac6cca12e4f72174c431c2db9da9c0072",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1691753796,
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1711671891,
"narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "c1402612146ba06606ebf64963a02bc1efe11e74",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1706098335,
"narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a77ab169a83a4175169d78684ddd2e54486ac651",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1712439257,
"narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1713088362,
"narHash": "sha256-ttDSOqkEBinjA1dlMWkBjaXzTqjiAPt5lNkoONbz25Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f32598c9fb112c47d43050a9475327a9c9bc19aa",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flatpaks": "flatpaks",
"home-manager": "home-manager",
"hyprland": "hyprland",
"nixpkgs": "nixpkgs_3"
}
},
"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=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"wlroots": {
"flake": false,
"locked": {
"lastModified": 1712935342,
"narHash": "sha256-zzIbTFNFd/as42jyGx23fil2uBDYYv+8GA5JmRq5y9c=",
"owner": "hyprwm",
"repo": "wlroots-hyprland",
"rev": "62eeffbe233d199f520a5755c344e85f8eab7940",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "wlroots-hyprland",
"rev": "62eeffbe233d199f520a5755c344e85f8eab7940",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1709299639,
"narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "2d2fb547178ec025da643db57d40a971507b82fe",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

56
nix/flake.nix Normal file
View file

@ -0,0 +1,56 @@
{
description = "Dashie dots";
inputs =
{
flatpaks.url = "github:GermanBread/declarative-flatpak/stable";
nixpkgs.url = "github:nixos/nixpkgs";
home-manager = {
url = "github:nix-community/home-manager/release-23.05";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
};
outputs = { self, nixpkgs, home-manager, flatpaks, hyprland }:
let
pkgs = import nixpkgs {
system = "x86_64-linux";
config = {
allowUnfree = true;
};
};
in
{
homeConfigurations."dashie@spaceship" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [ ./hardware/spaceship.nix ];
};
homeConfigurations."dashie@overheating" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [ ./hardware/overheating.nix ];
};
homeConfigurations."dashie" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
flatpaks.homeManagerModules.default
hyprland.homeManagerModules.default
./programs/hyprland/config.nix
];
};
nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
inherit pkgs;
modules = [
./configuration.nix
flatpaks.nixosModules.default
hyprland.nixosModules.default
home-manager.nixosModules.home-manager {
home-manager.users.dashie = import ./programs/default.nix {inherit pkgs; };
home-manager.useGlobalPkgs = true;
}
./programs/flatpak.nix
];
};
};
}

49
nix/gg.txt Normal file
View file

@ -0,0 +1,49 @@
building the system configuration...
trace: warning: The option `services.xserver.xkbVariant' defined in `/nix/store/53sb5ixrwba793scv24rb8zl15z22jq1-source/configuration.nix' has been renamed to `services.xserver.xkb.variant'.
trace: warning: The option `services.xserver.layout' defined in `/nix/store/53sb5ixrwba793scv24rb8zl15z22jq1-source/configuration.nix' has been renamed to `services.xserver.xkb.layout'.
these 9 derivations will be built:
/nix/store/np0n7b6f05mzgln8isi0vjz3qv29wf1k-home-manager-path.drv
/nix/store/8c5l2gjr9jbilklrzvvjxa0m6y057lw0-hm_fontconfigconf.d10hmfonts.conf.drv
/nix/store/mnf21n8sfzxvqykzyriiabsq5kmv6glm-home-manager-files.drv
/nix/store/x0wjqz7aay3vaqzsqkxy45mpwbhmrdsn-activation-script.drv
/nix/store/dx1bjiby48rbq7qg1dwz6a6wdbxpsxvc-home-manager-generation.drv
/nix/store/bqjbbqzqgcy6ygz3qlh1y868j2h99xj8-unit-home-manager-dashie.service.drv
/nix/store/dm875ly78yc9lbwbw0061bpwz5ani7mc-system-units.drv
/nix/store/2s8xk8yl7l316x2k8qrlf3pwj2wy3h9c-etc.drv
/nix/store/jngp4gggy2qhwvhclcmlqylbnfv5c2ik-nixos-system-nixos-24.05.20240414.f32598c.drv
building '/nix/store/np0n7b6f05mzgln8isi0vjz3qv29wf1k-home-manager-path.drv'...
building '/nix/store/x0wjqz7aay3vaqzsqkxy45mpwbhmrdsn-activation-script.drv'...
building '/nix/store/8c5l2gjr9jbilklrzvvjxa0m6y057lw0-hm_fontconfigconf.d10hmfonts.conf.drv'...
building '/nix/store/mnf21n8sfzxvqykzyriiabsq5kmv6glm-home-manager-files.drv'...
building '/nix/store/dx1bjiby48rbq7qg1dwz6a6wdbxpsxvc-home-manager-generation.drv'...
building '/nix/store/bqjbbqzqgcy6ygz3qlh1y868j2h99xj8-unit-home-manager-dashie.service.drv'...
building '/nix/store/dm875ly78yc9lbwbw0061bpwz5ani7mc-system-units.drv'...
building '/nix/store/2s8xk8yl7l316x2k8qrlf3pwj2wy3h9c-etc.drv'...
building '/nix/store/jngp4gggy2qhwvhclcmlqylbnfv5c2ik-nixos-system-nixos-24.05.20240414.f32598c.drv'...
updating GRUB 2 menu...
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
lsblk: /dev/mapper/no*[0-9]: not a block device
lsblk: /dev/mapper/raid*[0-9]: not a block device
lsblk: /dev/mapper/disks*[0-9]: not a block device
installing the GRUB 2 boot loader on /dev/sda...
Installing for i386-pc platform.
Installation finished. No error reported.
stopping swap device: /dev/disk/by-uuid/2cb00912-21ef-46e4-9a8c-14819a1335ae
stopping the following units: audit.service, boot.mount, dhcpcd.service, kmod-static-nodes.service, logrotate-checkconf.service, mount-pstore.service, network-interfaces.target, network-local-commands.service, network-setup.service, nscd.service, resolvconf.service, systemd-modules-load.service, systemd-oomd.service, systemd-oomd.socket, systemd-sysctl.service, systemd-timesyncd.service, systemd-vconsole-setup.service, virtualbox.service
NOT restarting the following changed units: -.mount, getty@tty1.service, systemd-fsck@dev-disk-by\x2duuid-719F\x2d1D58.service, systemd-journal-flush.service, systemd-logind.service, systemd-random-seed.service, systemd-remount-fs.service, systemd-update-utmp.service, systemd-user-sessions.service, user-runtime-dir@1000.service, user@1000.service
activating the configuration...
removing group systemd-journal-gateway
removing group dhcpcd
removing user systemd-journal-gateway
removing user dhcpcd
setting up /etc...
removing obsolete symlink /etc/dhcpcd.exit-hook...
removing obsolete symlink /etc/pulse/client.conf...
restarting systemd...
reloading user units for dashie...
restarting sysinit-reactivation.target
reloading the following units: dbus.service, firewall.service, reload-systemd-vconsole-setup.service
restarting the following units: systemd-journald.service
starting the following units: audit.service, kmod-static-nodes.service, logrotate-checkconf.service, mount-pstore.service, network-local-commands.service, network-setup.service, nscd.service, resolvconf.service, systemd-modules-load.service, systemd-oomd.socket, systemd-sysctl.service, systemd-timesyncd.service, systemd-vconsole-setup.service, virtualbox.service
the following new units were started: NetworkManager-dispatcher.service, NetworkManager-wait-online.service, NetworkManager.service, alsa-store.service, avahi-daemon.service, avahi-daemon.socket, cups-browsed.service, cups.service, cups.socket, dbus-broker.service, home-manager-dashie.service, manage-system-flatpaks.service, nix-daemon.service, sysinit-reactivation.target, systemd-hostnamed.service, systemd-tmpfiles-resetup.service

View file

@ -0,0 +1,30 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [ ];
boot.initrd.availableKernelModules = [ "ata_piix" "ohci_pci" "ehci_pci" "ahci" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/299e37e5-6a68-4cbe-97ad-0c59e5ed0bf4";
fsType = "ext4";
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
virtualisation.virtualbox.guest.enable = true;
}

1
nix/hardware/marmo.nix Normal file
View file

@ -0,0 +1 @@
{ config, lib, pkgs, modulesPath, ... }: {}

View file

@ -0,0 +1 @@
{ config, lib, pkgs, modulesPath, ... }: {}

View file

@ -0,0 +1 @@
{ config, lib, pkgs, modulesPath, ... }: {}

40
nix/programs/cargo.nix Normal file
View file

@ -0,0 +1,40 @@
{ inputs
, lib
, pkgs
, rustPlatform
, ...
}: {
imports = [
./config.nix
./anyrun.nix
./ironbar.nix
];
home.packages = with pkgs; [
(rustPackage {
name = "oxinoti";
version = "0.1.1";
src = fetchCrate {
inherit name version;
sha256 = lib.fakesha256;
};
})
(rustPackage {
name = "oxidash";
version = "0.1.0";
src = fetchCrate {
inherit name version;
sha256 = lib.fakesha256;
};
})
(rustPackage {
name = "oxishut";
version = "0.1.0";
src = fetchCrate {
inherit name version;
sha256 = lib.fakesha256;
};
})
];
}

20
nix/programs/coding.nix Normal file
View file

@ -0,0 +1,20 @@
{ lib
, pkgs
, ...
}:
{
home.packages = with pkgs; [
git
gcc
meson
ninja
rustup
go
nodejs_20
deno
# rustpython
neovim
typst
neovide
];
}

28
nix/programs/common.nix Normal file
View file

@ -0,0 +1,28 @@
{ lib
, pkgs
, fonts
, ...
}:
{
manual = {
html.enable = false;
json.enable = false;
manpages.enable = false;
};
fonts.fontconfig.enable = true;
home.packages = with pkgs; [
kitty
firefox
fish
ripgrep
rm-improved
bat
fd
lsd
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
flatpak
gnome.gnome-software
networkmanager
];
}

15
nix/programs/default.nix Normal file
View file

@ -0,0 +1,15 @@
{pkgs, ... }:
{
imports = [
./hyprland/default.nix
./common.nix
./kitty.nix
./coding.nix
./xdg.nix
./media.nix
];
home.username = "dashie";
home.homeDirectory = "/home/dashie";
home.stateVersion = "23.05";
}

17
nix/programs/flatpak.nix Normal file
View file

@ -0,0 +1,17 @@
{...}: {
services.flatpak.remotes = {
"flathub" = "https://dl.flathub.org/repo/flathub.flatpakrepo";
};
services.flatpak.packages = [
"flathub:app/com.github.tchx84.Flatseal//stable"
"flathub:app/dev.vencord.Vesktop//stable"
"flathub:app/com.rustdesk.RustDesk//stable"
"flathub:app/io.github.Foldex.AdwSteamGtk//stable"
"flathub:app/io.github.Foldex.AdwSteamGtk//stable"
"flathub:app/org.gnome.dspy//stable"
"flathub:app/org.onlyoffice.desktopeditors//stable"
"flathub:app/org.gtk.Gtk3theme.adw-gtk3//stable"
"flathub:app/com.brave.Browser//stable"
];
}

View file

@ -0,0 +1,3 @@
{ pkgs, ... }: {
programs.home-manager.enable = true;
}

View file

@ -0,0 +1,72 @@
{ pkgs
, osConfig
, ...
}: {
programs.anyrun = {
config = {
#plugins = with inputs.anyrun.packages.${pkgs.system}; [
# applications
# rink
# shell
# websearch
# inputs.anyrun-nixos-options.packages.${pkgs.system}.default
#];
position = "center";
hideIcons = false;
width = { fraction = 0.3; };
layer = "overlay";
hidePluginInfo = true;
closeOnClick = true;
};
extraCss = ''
#window {
border-radius: 10px;
background-color: none;
}
box#main {
border-radius: 10px;
}
list#main {
border-radius: 10px;
margin: 0px 10px 10px 10px;
}
list#plugin {
border-radius: 10px;
}
list#match {
border-radius: 10px;
}
entry#entry {
border: none;
border-radius: 10px;
margin: 10px 10px 0px 10px;
}
label#match-desc {
font-size: 12px;
border-radius: 10px;
}
label#match-title {
font-size: 12px;
border-radius: 10px;
}
label#plugin {
font-size: 16px;
border-radius: 10px;
}
* {
border-radius: 10px;
}
'';
};
}

View file

@ -0,0 +1,291 @@
{ config
, pkgs
, ...
}:
let
# scripts = "${config.home.homeDirectory}/.config/scripts";
inputs = {
hyprland ={
# Update for releavant commit, this is just bleeding edge as of 2024/04/11
url = github:hyprwm/Hyprland/ac0f3411c18497a39498b756b711e092512de9e0;
inputs.nixpkgs.follows = "nixpkgs";
};
Hyprspace = {
url = github:KZDKM/Hyprspace;
inputs.hyprland.follows = "hyprland";
};
};
in
{
wayland.windowManager.hyprland.enable = true;
wayland.windowManager.hyprland.settings = {
"$mod" = "SUPER";
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
bind = [
# screenshots
"$mod SUPER,S,exec,grim -g \"$(slurp)\" - | wl-copy"
"$mod SUPERSHIFTALT,S,exec, grim -g \"$(slurp)\" $HOME/gits/ost-5semester/Screenshots/$(date +'%Y_%m_%d_%I_%M_%S.png') && (date +'%Y_%m_%d_%I_%M_%S.png') | wl-copy"
"$mod SUPERSHIFT,S,exec,grim -g \"$(slurp)\" - | satty -f -"
"$mod SUPERCONTROLSHIFT,S,exec,grim -c -g \"2560,0 3440x1440\" - | wl-copy"
# regular programs
"$mod SUPER,F,exec,firefox"
"$mod SUPER,T,exec,kitty -1"
"$mod SUPER,E,exec,nautilus -w"
"$mod SUPER,N,exec,neovide"
"$mod SUPER,M,exec,oxidash"
"$mod SUPER,R,exec,anyrun"
"$mod SUPER,G,exec,oxicalc"
"$mod SUPER,D,exec,oxishut"
"$mod SUPER,A,exec,oxipaste"
"$mod SUPERSHIFT,L,exec, playerctl -a pause & swaylock -c 000000 & systemctl suspend"
# media keys
",XF86AudioMute,exec, $HOME/.config/scripts/audio_control.sh mute"
",XF86AudioLowerVolume,exec, $HOME/.config/scripts/audio_control.sh sink -5%"
",XF86AudioRaiseVolume,exec, $HOME/.config/scripts/audio_control.sh sink +5%"
",XF86AudioPlay,exec, playerctl play-pause"
",XF86AudioNext,exec, playerctl next"
",XF86AudioPrev,exec, playerctl previous"
",XF86MonBrightnessDown,exec, $HOME/.config/scripts/change-brightness brightness 10%-"
",XF86MonBrightnessUp,exec, $HOME/.config/scripts/change-brightness brightness +10%"
# hyprland keybinds
# misc
"$mod SUPER,V,togglefloating,"
"$mod SUPER,B,fullscreen,"
"$mod SUPER,C,togglesplit"
"$mod SUPER,Q,killactive,"
"$mod SUPERSHIFTALT,M,exit,"
"$mod SUPERSHIFT,W,togglespecialworkspace"
# move
"$mod SUPER,left,movewindow,l"
"$mod SUPER,right,movewindow,r"
"$mod SUPER,up,movewindow,u"
"$mod SUPER,down,movewindow,d"
# workspaces
"$mod SUPER,1,workspace,1"
"$mod SUPER,2,workspace,2"
"$mod SUPER,3,workspace,3"
"$mod SUPER,4,workspace,4"
"$mod SUPER,5,workspace,5"
"$mod SUPER,6,workspace,6"
"$mod SUPER,7,workspace,7"
"$mod SUPER,8,workspace,8"
"$mod SUPER,9,workspace,9"
"$mod SUPER,0,workspace,10"
# move to workspace
"$mod SUPERSHIFT,1,movetoworkspace,1"
"$mod SUPERSHIFT,2,movetoworkspace,2"
"$mod SUPERSHIFT,3,movetoworkspace,3"
"$mod SUPERSHIFT,4,movetoworkspace,4"
"$mod SUPERSHIFT,5,movetoworkspace,5"
"$mod SUPERSHIFT,6,movetoworkspace,6"
"$mod SUPERSHIFT,7,movetoworkspace,7"
"$mod SUPERSHIFT,8,movetoworkspace,8"
"$mod SUPERSHIFT,9,movetoworkspace,9"
"$mod SUPERSHIFT,0,movetoworkspace,10"
# move to workspace silent
"$mod SUPERSHIFTALT,1,movetoworkspacesilent,1"
"$mod SUPERSHIFTALT,2,movetoworkspacesilent,2"
"$mod SUPERSHIFTALT,3,movetoworkspacesilent,3"
"$mod SUPERSHIFTALT,4,movetoworkspacesilent,4"
"$mod SUPERSHIFTALT,5,movetoworkspacesilent,5"
"$mod SUPERSHIFTALT,6,movetoworkspacesilent,6"
"$mod SUPERSHIFTALT,7,movetoworkspacesilent,7"
"$mod SUPERSHIFTALT,8,movetoworkspacesilent,8"
"$mod SUPERSHIFTALT,9,movetoworkspacesilent,9"
"$mod SUPERSHIFTALT,0,movetoworkspacesilent,10"
# preselection
"$mod SUPERALT,j,layoutmsg,preselect l"
"$mod SUPERALT,k,layoutmsg,preselect d"
"$mod SUPERALT,l,layoutmsg,preselect u"
"$mod SUPERALT,semicolon,layoutmsg,preselect r"
"$mod SUPERALT,h,layoutmsg,preselect n"
];
binde = [
# hyprland keybinds
# focus
"$mod SUPER,J,movefocus,l"
"$mod SUPER,semicolon,movefocus,r"
"$mod SUPER,L,movefocus,u"
"$mod SUPER,K,movefocus,d"
# resize
"$mod SUPER,U,resizeactive,-20 0"
"$mod SUPER,P,resizeactive,20 0"
"$mod SUPER,O,resizeactive,0 -20"
"$mod SUPER,I,resizeactive,0 20"
];
general = {
gaps_out = "3,5,5,5";
border_size = 3;
col.active_border = "0xFFFF0000 0xFF00FF00 0xFF0000FF 45deg";
col.inactive_border = "0x66333333";
allow_tearing = true;
};
decoration = {
rounding = 4;
};
animations = {
bezier = "penguin,0.05,0.9,0.1,1.0";
animation = [
"windowsMove,1,4,default"
"windows,1,7,default,popin 70%"
"windowsOut,1,7,default,popin 70%"
"border,1,10,default"
"fade,1,7,default"
"workspaces,1,6,default"
"layers,1,3,default,popin"
];
};
input = {
repeat_delay = 200;
force_no_accel = true;
touchpad = {
natural_scroll = true;
tap-to-click = true;
tap-and-drag = true;
};
};
misc = {
vrr = 1;
animate_manual_resizes = 1;
enable_swallow = true;
disable_splash_rendering = true;
disable_hyprland_logo = true;
swallow_regex = "^(.*)(kitty)(.*)$";
};
env = [
"GTK_CSD,0"
"TERM,\"kitty /bin/fish\""
"XDG_CURRENT_DESKTOP=Hyprland"
"XDG_SESSION_TYPE=wayland"
"XDG_SESSION_DESKTOP=Hyprland"
"HYPRCURSOR_THEME,Bibata-Modern-Classic"
"HYPRCURSOR_SIZE,24"
"XCURSOR_THEME,Bibata-Modern-Classic"
"XCURSOR_SIZE,24"
"QT_QPA_PLATFORM,wayland"
"QT_WAYLAND_FORCE_DPI,96"
"QT_AUTO_SCREEN_SCALE_FACTOR,0"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"QT_SCALE_FACTOR,1"
"PKG_CONFIG_PATH,/usr/local/lib/pkgconfig"
"LD_LIBRARY_PATH,/usr/local/lib"
"EDITOR,\"neovide --novsync --nofork\""
"WLR_DRM_NO_ATOMIC,1"
"GTK_USE_PORTAL, 1"
"PATH,/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:~/.local/bin:~/.cargo/bin:$PATH"
];
monitor = [
# default
"DP-2,2560x1440@165,0x0,1"
"DP-1,3440x1440@180,2560x0,1"
"HDMI-A-1,1920x1200@60,6000x0,1"
"HDMI-A-1,transform,1"
# all others
",highrr,auto,1"
];
workspace = [
# workspaces
# monitor middle
"2,monitor:DP-1, default:true"
"4,monitor:DP-1"
"6,monitor:DP-1"
"8,monitor:DP-1"
"9,monitor:DP-1"
"10,monitor:DP-1"
# monitor left
"1,monitor:DP-2, default:true"
"5,monitor:DP-2"
"7,monitor:DP-2"
# monitor right
"3,monitor:HDMI-A-1, default:true"
];
layerrule = [
# layer rules
# mainly to disable animations within slurp and grim
"noanim, selection"
];
windowrule = [
# window rules
"tile,^(.*)(Spotify)(.*)$"
"float,^(.*)(OxiCalc)(.*)$"
"float,^(.*)(winecfg.exe)(.*)$"
"float,^(.*)(speed.exe)(.*)$"
"float,^(.*)(copyq)(.*)$"
"center,^(.*)(swappy)(.*)$"
"float,title:^(.*)(Spirit)(.*)$"
"float,title:^(.*)(reset)(.*)$"
"workspace 10 silent,^(.*)(steam)(.*)$"
"workspace 9 silent,^(.*)(dota)(.*)$"
"workspace 9 silent,^(.*)(battlebits)(.*)$"
"workspace 9 silent,^(.*)(aoe)(.*)$"
"suppressevent fullscreen maximize,^(.*)(neovide)(.*)$"
];
windowrulev2 = [
"immediate,class:^(.*)(Pal)$"
"immediate,class:^(.*)(dota2)$"
"immediate,class:^(.*)(needforspeedheat.exe)$"
"forceinput,class:^(.*)(Pal)$"
"forceinput,class:^(.*)(Battlefield 4)$"
];
exec-once = [
# environment
"systemctl --user import-environment"
"dbus-update-activation-environment --systemd --all"
"hyprctl setcursor Bibata-Modern-Classic 24"
# other programs
"hyprpaper"
"ironbar"
"firefox"
"streamdeck -n"
"oxipaste_daemon"
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
"nextcloud --background"
"oxinoti"
];
plugin = {
hyprspace = {
bind = [
"SUPER, W, overview:toggle, toggle"
];
};
};
};
wayland.windowManager.hyprland.plugins = [
# ... whatever
inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
];
}

View file

@ -0,0 +1,25 @@
{
lib
, pkgs
, ...
}: {
imports = [
#./anyrun.nix
];
home.packages = with pkgs; [
hyprland
xorg.xprop
grim
slurp
swappy
xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
hyprpaper
ironbar
copyq
gnome.nautilus
gnome.sushi
];
}

63
nix/programs/kitty.nix Normal file
View file

@ -0,0 +1,63 @@
{ default, ... }: {
programs.kitty = {
enable = true;
settings = {
enable_audio_bell = "no";
window_alert_on_bell = "no";
background_opacity = "0.8";
cursor_blink_interval = "0";
window_padding_width = "1";
shell_integration = "yes";
sync_with_monitor = "no";
font_family = "JetBrainsMono Nerd Font Mono";
bold_font = "JetBrainsMono Nerd Font Mono Extra Bold";
italic_font = "JetBrainsMono Nerd Font Mono Extra Italic";
bold_italic_font = "JetBrainsMono Nerd Font Mono Extra Bold Italic";
background = "#1a1b25";
foreground = "#c5c8c6";
selection_background = "#b2ceee";
selection_foreground = "#080808";
url_color = "#73daca";
cursor = "#c0caf5";
cursor_text_color = "#1a1b25";
active_tab_background = "#7aa2f7";
active_tab_foreground = "#16161e";
inactive_tab_background = "#292e42";
inactive_tab_foreground = "#545c7e";
active_border_color = "#7aa2f7";
inactive_border_color = "#292e42";
color0 = "#15161e";
color1 = "#c94448";
color2 = "#9ece6a";
color3 = "#e0af68";
color4 = "#7aa2f7";
color5 = "#bb9af7";
color6 = "#7dcfff";
color7 = "#a9b1d6";
color8 = "#414868";
color9 = "#f2201f";
color10 = "#9ece6a";
color11 = "#e0af68";
color12 = "#7aa2f7";
color13 = "#bb9af7";
color14 = "#7dcfff";
color15 = "#c0caf5";
color16 = "#ff9e64";
color17 = "#db4b4b";
shell = "fish";
};
theme = "Catppuccin-Mocha";
};
}

29
nix/programs/media.nix Normal file
View file

@ -0,0 +1,29 @@
{ pkgs
, config
, ...
}:
{
home.packages = with pkgs; [
# base audio
pipewire
wireplumber
# audio control
playerctl
# images
imv
# videos
mpv
# pdf
zathura
# spotify
ncspot
# video editing
kdenlive
# image creation
inkscape
gimp
krita
# recording
obs-studio
];
}

14
nix/programs/utils.nix Normal file
View file

@ -0,0 +1,14 @@
{ lib
, pkgs
, ...
}:
{
home.packages = with pkgs; [
rustdesk
keepassxc
nheko
kdeconnect
nextcloud-client
xournalpp
];
}

48
nix/programs/xdg.nix Normal file
View file

@ -0,0 +1,48 @@
{ config, ... }:
let
browser = [ "firefox.desktop" ];
# XDG MIME types
associations = {
"application/x-extension-htm" = browser;
"application/x-extension-html" = browser;
"application/x-extension-shtml" = browser;
"application/x-extension-xht" = browser;
"application/x-extension-xhtml" = browser;
"application/xhtml+xml" = browser;
"text/html" = browser;
"x-scheme-handler/about" = browser;
"x-scheme-handler/chrome" = [ "brave.desktop" ];
"x-scheme-handler/ftp" = browser;
"x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser;
"x-scheme-handler/unknown" = browser;
"audio/*" = [ "mpv.desktop" ];
"video/*" = [ "mpv.dekstop" ];
"image/*" = [ "imv.desktop" ];
"application/json" = browser;
"application/pdf" = [ "org.pwmt.zathura.desktop.desktop" ];
# "x-scheme-handler/discord" = [ "discordcanary.desktop" ];
# "x-scheme-handler/spotify" = [ "spotify.desktop" ];
};
in
{
xdg = {
enable = true;
cacheHome = config.home.homeDirectory + "/.local/cache";
mimeApps = {
enable = true;
defaultApplications = associations;
};
userDirs = {
enable = true;
createDirectories = true;
extraConfig = {
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
};
};
};
}

View file

@ -1,18 +1,18 @@
{
"LazyVim": { "branch": "main", "commit": "c91982a8bca120857f24f0eb0dd9bdcc7d574f50" },
"LazyVim": { "branch": "main", "commit": "c901640167ec5b123ff8524b01518c9a370a0d31" },
"LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" },
"SchemaStore.nvim": { "branch": "main", "commit": "9ad2209d3fe54f99e3df2c26fadd6f4a3ecae44c" },
"SchemaStore.nvim": { "branch": "main", "commit": "4ce271f0db8b5224b4d69a43a75c13f5b4dcba43" },
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" },
"bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" },
"catppuccin": { "branch": "main", "commit": "56fb98218d22d5c326387bf9e4076227e7372e6b" },
"clangd_extensions.nvim": { "branch": "main", "commit": "34c8eaa12be192e83cd4865ce2375e9f53e728f2" },
"catppuccin": { "branch": "main", "commit": "f66654d5d5190865333e8e46474c1593302c558e" },
"clangd_extensions.nvim": { "branch": "main", "commit": "2992ba8c13c2de41f91a7c7488bf1c48bcec31fe" },
"cmake-tools.nvim": { "branch": "master", "commit": "a4cd0b3a2c8a166a54b36bc00579954426748959" },
"cmp-async-path": { "branch": "main", "commit": "9d581eec5acf812316913565c135b0d1ee2c9a71" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"conform.nvim": { "branch": "master", "commit": "bf109f061fc3cd75394b7823923187ae045cbf22" },
"conform.nvim": { "branch": "master", "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" },
"crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" },
"dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" },
"flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" },
@ -23,7 +23,7 @@
"inc-rename.nvim": { "branch": "main", "commit": "6f9b5f9cb237e12935144cdc535322b8c93c1b25" },
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" },
"instant.nvim": { "branch": "master", "commit": "294b6d08143b3db8f9db7f606829270149e1a786" },
"lazy.nvim": { "branch": "main", "commit": "3132d7d27d56d6bb4bdd0a09623d162b3cf1c588" },
"lazy.nvim": { "branch": "main", "commit": "65887ea871d44822bff47504202b3643f29d614e" },
"ltex_extra.nvim": { "branch": "master", "commit": "42dd3572cb09b52a137e91e515f2dff5eb631b1e" },
"lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
@ -35,52 +35,52 @@
"mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" },
"mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" },
"mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" },
"mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "8afbb06081ce1e4beb5b18945d14a608b10babeb" },
"neoconf.nvim": { "branch": "main", "commit": "9a419c4fa772c4c61839a8f7fdd8e863679a8c94" },
"mini.surround": { "branch": "main", "commit": "49e0364b8c9a3258b485c5ece40bb0f3a5e94b1c" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" },
"neoconf.nvim": { "branch": "main", "commit": "ef304c29977b85c99382fcba821b3f710e144a74" },
"neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" },
"neoscroll.nvim": { "branch": "master", "commit": "21d52973bde32db998fc8b6590f87eb3c3c6d8e4" },
"neotest": { "branch": "master", "commit": "e07fe8241112274aae9947b98d255763738a1d52" },
"neotest-go": { "branch": "main", "commit": "6a2f996d89fe4631942e035b1c114544ee045043" },
"neotest-python": { "branch": "master", "commit": "2e83d2bc00acbcc1fd529dbf0a0e677cabfe6b50" },
"nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" },
"nvim-cmp": { "branch": "main", "commit": "630cdf7d547c4461ef6d7362c3794a08abfad4fb" },
"nvim-dap": { "branch": "master", "commit": "c1695e500c7d552a0a19953a9aefcc89178fb1af" },
"nvim-dap-go": { "branch": "main", "commit": "64f73400761e2d19459e664a52ea478f3a4420e7" },
"nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" },
"nvim-dap": { "branch": "master", "commit": "405df1dcc2e395ab5173a9c3d00e03942c023074" },
"nvim-dap-go": { "branch": "main", "commit": "36abe1d320cb61bfdf094d4e0fe815ef58f2302a" },
"nvim-dap-python": { "branch": "master", "commit": "66560f0ebddf96604f7037e1efad3ba6942761e6" },
"nvim-dap-ui": { "branch": "master", "commit": "edfa93f60b189e5952c016eee262d0685d838450" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "baa5b0dc6663284cce32e0d00ac1f2511b13496f" },
"nvim-jdtls": { "branch": "master", "commit": "8eb5f0dbe6e126b392ddcaf45893358619893e45" },
"nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" },
"nvim-lspconfig": { "branch": "master", "commit": "24662f92c18edd397ef12d635b11dbdedef2d094" },
"nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" },
"nvim-nio": { "branch": "master", "commit": "33c62b3eadd8154169e42144de16ba4db6784bec" },
"nvim-spectre": { "branch": "master", "commit": "31f62d7fc30257b2a5c5327ff7b47719da37a1b4" },
"nvim-treesitter": { "branch": "master", "commit": "6e7b41106e9b15a5b47d149378d53482c9d9c7a3" },
"nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" },
"nvim-treesitter": { "branch": "master", "commit": "23ba63028c6acca29be6462c0a291fc4a1b9eae8" },
"nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" },
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" },
"nvim-web-devicons": { "branch": "master", "commit": "cb0c967c9723a76ccb1be0cc3a9a10e577d2f6ec" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "f7310a06ad86072158adc37f394650e7fba9631d" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "734ebad31c81c6198dfe102aa23280937c937c42" },
"nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "d55fba19777f7c437215253cad99f18a8f06edd2" },
"persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" },
"plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" },
"rustaceanvim": { "branch": "master", "commit": "b0548ff58d34caa220f8806c518fedb6453fc48e" },
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "bc25c56083939f274edcfe395c6ff7de23b67c50" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "3bece973c5d80e7da447157822d5b0e73558d361" },
"plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" },
"rustaceanvim": { "branch": "master", "commit": "b1433cb70569b888d26a26232da93fdbc76cb4a8" },
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "5ee5002373655fd684a4ad0d47a3de876ceacf9a" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
"telescope-project.nvim": { "branch": "master", "commit": "1aaf16580a614601a7f7077d9639aeb457dc5559" },
"telescope-zoxide": { "branch": "main", "commit": "68966349aa1b8e9ade403e18479ecf79447389a7" },
"telescope.nvim": { "branch": "master", "commit": "221778e93bfaa58bce4be4e055ed2edecc26f799" },
"telescope.nvim": { "branch": "master", "commit": "b22e6f6896cd64b109bd0807a24098d225d5fb49" },
"test_plugin": { "branch": "main", "commit": "c6100b07b2f7925e5bb639c6b42427f9aa362add" },
"todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" },
"tokyonight.nvim": { "branch": "main", "commit": "fbe3a27378fdd51a8ddd04f57012455436916a62" },
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
"typst.vim": { "branch": "main", "commit": "6a68ce290b98b2d88c72fff0de723d7d170287a3" },
"venv-selector.nvim": { "branch": "main", "commit": "2ad34f36d498ff5193ea10f79c87688bd5284172" },
"todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" },
"tokyonight.nvim": { "branch": "main", "commit": "71597b108aea89362fc99d7a5e78bba2f9870bf6" },
"trouble.nvim": { "branch": "main", "commit": "2ac8b847a6d918b30b90095d89a53500d9e2cd5e" },
"typst.vim": { "branch": "main", "commit": "86e4fa8dcddd032f9fdbf04602417a8baac8fed3" },
"venv-selector.nvim": { "branch": "main", "commit": "3c57922256e7e26205a25f5a42ecf7104d9f2c78" },
"vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" },
"vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" },
"vim-visual-multi": { "branch": "master", "commit": "fe1ec7e430013b83c8c2dee85ae496251b71e253" },
"vimtex": { "branch": "master", "commit": "73605f8b7655301ea47a2c355500ab4984f41b91" },
"vimtex": { "branch": "master", "commit": "3275a1778ae93cc88318a849759d689fe7143eb8" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" },
"yazi.nvim": { "branch": "master", "commit": "b5c9390c733244b10859b940413ef9741955301a" }
}

View file

@ -3,7 +3,7 @@
],
"news": {
"NEWS.md": "2123"
"NEWS.md": "2850"
},
"version": 3
}

View file

@ -18,8 +18,8 @@ require("lazy").setup({
-- { import = "lazyvim.plugins.extras.ui.edgy" },
{ import = "plugins" },
{ import = "plugins.plugins" },
{ import = "lazyvim.plugins.extras.lang.tailwind" },
{ import = "lazyvim.plugins.extras.lang.rust" },
{ import = "lazyvim.plugins.extras.lang.tailwind" },
{ import = "lazyvim.plugins.extras.lang.java" },
{ import = "lazyvim.plugins.extras.lang.go" },
{ import = "lazyvim.plugins.extras.lang.clangd" },

View file

@ -10,6 +10,24 @@ return {
-- LSP Server Settings
---@type lspconfig.options
servers = {
rust_analyzer = {
mason = false,
},
taplo = {
keys = {
{
"K",
function()
if vim.fn.expand("%:t") == "Cargo.toml" and require("crates").popup_available() then
require("crates").show_popup()
else
vim.lsp.buf.hover()
end
end,
desc = "Show Crate Documentation",
},
},
},
bashls = {},
ansiblels = {},
asm_lsp = {},
@ -40,7 +58,6 @@ return {
},
},
sqlls = {},
taplo = {},
lemminx = {},
opencl_ls = {},
yamlls = {},
@ -87,4 +104,33 @@ return {
},
},
},
-- {
-- "mrcjkb/rustaceanvim",
-- opts = {
-- default_settings = {
-- -- rust-analyzer language server configuration
-- ["rust-analyzer"] = {
-- cargo = {
-- allFeatures = true,
-- loadOutDirsFromCheck = true,
-- runBuildScripts = true,
-- },
-- -- Add clippy lints for Rust.
-- checkOnSave = {
-- allFeatures = true,
-- command = "cargo-clippy",
-- extraArgs = { "--no-deps" },
-- },
-- procMacro = {
-- enable = true,
-- ignored = {
-- ["async-trait"] = { "async_trait" },
-- ["napi-derive"] = { "napi" },
-- ["async-recursion"] = { "async_recursion" },
-- },
-- },
-- },
-- },
-- },
-- },
}