neovim update; removed unused files; dont now what else. whoops
This commit is contained in:
223
,a
223
,a
@@ -1,223 +0,0 @@
|
||||
# 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, inputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
];
|
||||
|
||||
|
||||
# home manager
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users = {
|
||||
"n" = import ./home-nico.nix;
|
||||
};
|
||||
};
|
||||
|
||||
# hyprland
|
||||
# programs.hyprland = {
|
||||
# enable = true;
|
||||
# xwayland.enable = true;
|
||||
# };
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "nico-nixos-laptop"; # 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;
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "de_DE.UTF-8";
|
||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||
LC_MONETARY = "de_DE.UTF-8";
|
||||
LC_NAME = "de_DE.UTF-8";
|
||||
LC_NUMERIC = "de_DE.UTF-8";
|
||||
LC_PAPER = "de_DE.UTF-8";
|
||||
LC_TELEPHONE = "de_DE.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable the XFCE Desktop Environment.
|
||||
services.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.xfce.enable = true;
|
||||
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb = {
|
||||
variant = "";
|
||||
layout = "de";
|
||||
};
|
||||
};
|
||||
|
||||
# Configure console keymap
|
||||
console.keyMap = "de";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable sound with pipewire.
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput.enable = true;
|
||||
|
||||
programs.light.enable = true;
|
||||
|
||||
programs.zsh.enable = true;
|
||||
# programs.nushell.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.n = {
|
||||
isNormalUser = true;
|
||||
description = "n";
|
||||
extraGroups = [ "networkmanager" "wheel" "video" "adbusers" "input" ];
|
||||
packages = with pkgs; [
|
||||
obsidian
|
||||
heroic
|
||||
];
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
|
||||
|
||||
# Install firefox.
|
||||
programs.firefox.enable = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
wget
|
||||
git
|
||||
kitty
|
||||
tree
|
||||
nodejs
|
||||
anki-bin
|
||||
unzip
|
||||
bitwarden-cli
|
||||
|
||||
|
||||
# nvim
|
||||
gnumake
|
||||
python312Packages.pip
|
||||
python312
|
||||
cargo
|
||||
ripgrep
|
||||
gcc
|
||||
|
||||
# sway
|
||||
networkmanagerapplet
|
||||
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
||||
go
|
||||
cliphist
|
||||
mako # notification system developed by swaywm maintainer
|
||||
waybar # bar
|
||||
pulseaudio # audiocontrols
|
||||
brightnessctl # brightness controls
|
||||
wpaperd # wallpaper manager
|
||||
];
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
};
|
||||
|
||||
|
||||
#fonts
|
||||
fonts.packages = with pkgs; [
|
||||
iosevka
|
||||
# (nerdfonts.override { fonts = [ "JetBrainsMono" "UbuntuMono" ]; })
|
||||
pkgs.nerd-fonts.JetBrainsMono
|
||||
pkgs.nerd-fonts.UbuntuMono
|
||||
];
|
||||
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
allowedUDPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# 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?
|
||||
|
||||
}
|
||||
@@ -22,16 +22,17 @@
|
||||
};
|
||||
|
||||
# hyprland
|
||||
# programs.hyprland = {
|
||||
# enable = true;
|
||||
# xwayland.enable = true;
|
||||
# };
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
boot.supportedFilesystems = [ "ntfs" ];
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
security.polkit.enable = true;
|
||||
nix.settings.trusted-users = [ "root" "n" ];
|
||||
|
||||
|
||||
# Bootloader.
|
||||
@@ -133,6 +134,8 @@
|
||||
programs.zsh.enable = true;
|
||||
# programs.nushell.enable = true;
|
||||
|
||||
programs.adb.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.n = {
|
||||
isNormalUser = true;
|
||||
@@ -141,7 +144,7 @@
|
||||
packages = with pkgs; [
|
||||
obsidian
|
||||
];
|
||||
shell = pkgs.nushell;
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
|
||||
@@ -161,9 +164,9 @@
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
inputs.nixStable.legacyPackages.${pkgs.system}.heroic
|
||||
|
||||
inputs.nixStable.legacyPackages.${pkgs.system}.heroic
|
||||
|
||||
pkgs.devenv
|
||||
pkgs.vim
|
||||
pkgs.wget
|
||||
pkgs.git
|
||||
|
||||
@@ -1,263 +0,0 @@
|
||||
# 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, inputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
|
||||
];
|
||||
|
||||
|
||||
# home manager
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
users = {
|
||||
"n" = import ./home-nico.nix;
|
||||
};
|
||||
};
|
||||
|
||||
# hyprland
|
||||
# programs.hyprland = {
|
||||
# enable = true;
|
||||
# xwayland.enable = true;
|
||||
# };
|
||||
|
||||
boot.supportedFilesystems = [ "ntfs" ];
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "nico-nixos-laptop"; # Define your hostname.
|
||||
networking.enableIPv6 = false;
|
||||
# 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;
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
services.resolved = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.mullvad-vpn.enable = true;
|
||||
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "de_DE.UTF-8";
|
||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||
LC_MONETARY = "de_DE.UTF-8";
|
||||
LC_NAME = "de_DE.UTF-8";
|
||||
LC_NUMERIC = "de_DE.UTF-8";
|
||||
LC_PAPER = "de_DE.UTF-8";
|
||||
LC_TELEPHONE = "de_DE.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable the XFCE Desktop Environment.
|
||||
services.displayManager.sddm.enable = true;
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
konsole
|
||||
];
|
||||
|
||||
|
||||
|
||||
virtualisation.virtualbox.host.enable = true;
|
||||
users.extraGroups.vboxusers.members = [ "n" ];
|
||||
virtualisation.virtualbox.host.enableExtensionPack = true;
|
||||
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb = {
|
||||
variant = "";
|
||||
layout = "de";
|
||||
};
|
||||
};
|
||||
|
||||
# Configure console keymap
|
||||
console.keyMap = "de";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable sound with pipewire.
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput.enable = true;
|
||||
|
||||
programs.light.enable = true;
|
||||
|
||||
programs.zsh.enable = true;
|
||||
# programs.nushell.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.n = {
|
||||
isNormalUser = true;
|
||||
description = "n";
|
||||
extraGroups = [ "networkmanager" "wheel" "video" "adbusers" "input" ];
|
||||
packages = with pkgs; [
|
||||
obsidian
|
||||
];
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
|
||||
|
||||
# Install firefox.
|
||||
programs.firefox.enable = true;
|
||||
services.flatpak.enable = true;
|
||||
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# nixpkgs.config.allowBroken = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
inputs.nixStable.legacyPackages.${pkgs.system}.heroic
|
||||
|
||||
|
||||
pkgs.vim
|
||||
pkgs.wget
|
||||
pkgs.git
|
||||
# pkgs.kitty
|
||||
pkgs.tree
|
||||
pkgs.nodejs
|
||||
pkgs.anki-bin
|
||||
pkgs.unzip
|
||||
pkgs.mullvad-vpn
|
||||
# pkgs.butterfly
|
||||
pkgs.btop
|
||||
# pkgs.cura
|
||||
# bitwarden-cli
|
||||
|
||||
|
||||
# nvim
|
||||
pkgs.gnumake
|
||||
pkgs.python312Packages.pip
|
||||
pkgs.python312
|
||||
pkgs.cargo
|
||||
pkgs.rustup
|
||||
pkgs.ripgrep
|
||||
pkgs.gcc
|
||||
pkgs.lua-language-server
|
||||
pkgs.nil
|
||||
pkgs.rust-analyzer
|
||||
|
||||
# sway
|
||||
pkgs.networkmanagerapplet
|
||||
pkgs.wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
||||
pkgs.go
|
||||
pkgs.cliphist
|
||||
pkgs.mako # notification system developed by swaywm maintainer
|
||||
pkgs.waybar # bar
|
||||
pkgs.pulseaudio # audiocontrols
|
||||
pkgs.brightnessctl # brightness controls
|
||||
pkgs.wpaperd # wallpaper manager
|
||||
pkgs.onboard
|
||||
|
||||
];
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
};
|
||||
|
||||
|
||||
#fonts
|
||||
fonts.packages = with pkgs; [
|
||||
#iosevka
|
||||
# (nerdfonts.override { fonts = [ "JetBrainsMono" "UbuntuMono" ]; })
|
||||
nerd-fonts.jetbrains-mono
|
||||
nerd-fonts.ubuntu-mono
|
||||
];
|
||||
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
allowedUDPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# 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?
|
||||
|
||||
}
|
||||
24
flake.lock
generated
24
flake.lock
generated
@@ -83,11 +83,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741955947,
|
||||
"narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=",
|
||||
"lastModified": 1743948087,
|
||||
"narHash": "sha256-B6cIi2ScgVSROPPlTti6len+TdR0K25B9R3oKvbw3M8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4",
|
||||
"rev": "ef3b2a6b602c3f1a80c6897d6de3ee62339a3eb7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -139,11 +139,11 @@
|
||||
},
|
||||
"nixStable": {
|
||||
"locked": {
|
||||
"lastModified": 1741862977,
|
||||
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
|
||||
"lastModified": 1743813633,
|
||||
"narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
|
||||
"rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -186,11 +186,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1741851582,
|
||||
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
|
||||
"lastModified": 1743827369,
|
||||
"narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
|
||||
"rev": "42a1c966be226125b48c384171c44c651c236c22",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -226,11 +226,11 @@
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743301931,
|
||||
"narHash": "sha256-gex4W+Fyn6RB8x9/y+VWY1EG6RItmlW1HJjAj3mWqKc=",
|
||||
"lastModified": 1743917753,
|
||||
"narHash": "sha256-rtMPRr5aqspypIdCfU8KjuKGlFkBEYnC5sv/sjZW2AQ=",
|
||||
"owner": "notashelf",
|
||||
"repo": "nvf",
|
||||
"rev": "05489d95b69b4c81e9b9a66a23f6e0cb1c8edb3d",
|
||||
"rev": "585dfca7ca75c8190bd1596f3ebc6fde6751c7a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
34
flake.nix~
34
flake.nix~
@@ -1,34 +0,0 @@
|
||||
{
|
||||
description = "Nixos config flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixStable.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
ags.url = "github:Aylur/ags";
|
||||
|
||||
nvf.url = "github:notashelf/nvf";
|
||||
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nvf, ... }@inputs:
|
||||
let system = "x86_64-linux"; in
|
||||
{
|
||||
nixosConfigurations.my-nixos = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
modules = [
|
||||
./configuration.nix
|
||||
nvf.homeManagerModules.default
|
||||
inputs.home-manager.nixosModules.default
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -16,11 +16,13 @@
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
brave
|
||||
floorp
|
||||
# freetube
|
||||
];
|
||||
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
home.username = "n";
|
||||
home.homeDirectory = "/home/n";
|
||||
|
||||
imports = [
|
||||
./packages
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
brave
|
||||
go
|
||||
];
|
||||
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
# ./ags
|
||||
./other
|
||||
./sway
|
||||
./swaync
|
||||
./waybar
|
||||
./wpaperd
|
||||
./nvim
|
||||
@@ -11,9 +12,9 @@
|
||||
./kitty
|
||||
./rofi
|
||||
./alacritty
|
||||
./mako
|
||||
# ./mako
|
||||
# ./qutebrowser
|
||||
# ./hyprland
|
||||
./hyprland
|
||||
# ./vscode
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,2 +1,78 @@
|
||||
$borderActive = 0xffb072d1
|
||||
$borderInactive = 0xff292a37
|
||||
|
||||
$rosewater = rgb(f5e0dc)
|
||||
$rosewaterAlpha = f5e0dc
|
||||
|
||||
$flamingo = rgb(f2cdcd)
|
||||
$flamingoAlpha = f2cdcd
|
||||
|
||||
$pink = rgb(f5c2e7)
|
||||
$pinkAlpha = f5c2e7
|
||||
|
||||
$mauve = rgb(cba6f7)
|
||||
$mauveAlpha = cba6f7
|
||||
|
||||
$red = rgb(f38ba8)
|
||||
$redAlpha = f38ba8
|
||||
|
||||
$maroon = rgb(eba0ac)
|
||||
$maroonAlpha = eba0ac
|
||||
|
||||
$peach = rgb(fab387)
|
||||
$peachAlpha = fab387
|
||||
|
||||
$yellow = rgb(f9e2af)
|
||||
$yellowAlpha = f9e2af
|
||||
|
||||
$green = rgb(a6e3a1)
|
||||
$greenAlpha = a6e3a1
|
||||
|
||||
$teal = rgb(94e2d5)
|
||||
$tealAlpha = 94e2d5
|
||||
|
||||
$sky = rgb(89dceb)
|
||||
$skyAlpha = 89dceb
|
||||
|
||||
$sapphire = rgb(74c7ec)
|
||||
$sapphireAlpha = 74c7ec
|
||||
|
||||
$blue = rgb(89b4fa)
|
||||
$blueAlpha = 89b4fa
|
||||
|
||||
$lavender = rgb(b4befe)
|
||||
$lavenderAlpha = b4befe
|
||||
|
||||
$text = rgb(cdd6f4)
|
||||
$textAlpha = cdd6f4
|
||||
|
||||
$subtext1 = rgb(bac2de)
|
||||
$subtext1Alpha = bac2de
|
||||
|
||||
$subtext0 = rgb(a6adc8)
|
||||
$subtext0Alpha = a6adc8
|
||||
|
||||
$overlay2 = rgb(9399b2)
|
||||
$overlay2Alpha = 9399b2
|
||||
|
||||
$overlay1 = rgb(7f849c)
|
||||
$overlay1Alpha = 7f849c
|
||||
|
||||
$overlay0 = rgb(6c7086)
|
||||
$overlay0Alpha = 6c7086
|
||||
|
||||
$surface2 = rgb(585b70)
|
||||
$surface2Alpha = 585b70
|
||||
|
||||
$surface1 = rgb(45475a)
|
||||
$surface1Alpha = 45475a
|
||||
|
||||
$surface0 = rgb(313244)
|
||||
$surface0Alpha = 313244
|
||||
|
||||
$base = rgb(1e1e2e)
|
||||
$baseAlpha = 1e1e2e
|
||||
|
||||
$mantle = rgb(181825)
|
||||
$mantleAlpha = 181825
|
||||
|
||||
$crust = rgb(11111b)
|
||||
$crustAlpha = 11111b
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
monitor=eDP-1,preferred,0x0,1
|
||||
|
||||
|
||||
source = ~/.config/hypr/startup.conf
|
||||
source = ~/.config/hypr/colors.conf
|
||||
source = ~/.config/hypr/setup.conf
|
||||
source = ~/.config/hypr/rules.conf
|
||||
source = ~/.config/hypr/keybinds.conf
|
||||
source = ~/.config/hypr/colors.conf
|
||||
source = ~/.config/hypr/theme.conf
|
||||
source = ~/.config/hypr/startup.conf
|
||||
|
||||
|
||||
@@ -1,25 +1,33 @@
|
||||
$mainMod = SUPER
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, RETURN, exec, kitty
|
||||
bind = $mainMod, Q, exec, brave
|
||||
bind = $mainMod, RETURN, exec, alacritty
|
||||
bind = $mainMod, B, exec, floorp
|
||||
bind = SUPER, BackSpace, killactive,
|
||||
bind = SUPER_SHIFT, P, exec, sudo shutdown now
|
||||
bind = SUPER_SHIFT, R, exec, sudo reboot now
|
||||
bind = $mainMod, M, exec, hyprctl dispatch exit
|
||||
bind = SUPER_SHIFT, P, exec, rofi -show power-menu -modi power-menu:rofi-power-menu
|
||||
bind = $mainMod, M, exec, rofi -show drun
|
||||
bind = $mainMod, M, exec, rofi -show power-menu -modi power-menu:rofi-power-menurofi -show drun
|
||||
bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
||||
#bind = $mainMod, E, exec, dolphin
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, Space, togglefloating,
|
||||
bind = $mainMod, S, exec, rofi-screenshot,
|
||||
|
||||
# bind = $mainMod, R, exec, rofi -show drun
|
||||
#bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
#bind = $mainMod, J, togglesplit, # dwindle
|
||||
bind = $mainMod, F, fullscreen,1
|
||||
bind = SUPER_SHIFT, F, fullscreen,0
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
# Move focus with mainMod + hjkl keys
|
||||
bind = $mainMod, H, movefocus, l
|
||||
bind = $mainMod, L, movefocus, r
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, movefocus, d
|
||||
# Move windows with mainMod + hjkl keys
|
||||
bind = SUPER_SHIFT, H, movewindow, l
|
||||
bind = SUPER_SHIFT, J, movewindow, d
|
||||
bind = SUPER_SHIFT, K, movewindow, u
|
||||
bind = SUPER_SHIFT, L, movewindow, r
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
@@ -53,3 +61,32 @@ bind = $mainMod, mouse_up, workspace, e-1
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
||||
# Mediakeys
|
||||
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%
|
||||
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%
|
||||
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bind = , XF86MonBrightnessDown, exec, light -U 10
|
||||
bind = , XF86MonBrightnessUp, exec, light -A 10
|
||||
|
||||
|
||||
# will switch to a submap called resize
|
||||
bind = $mainMod, R, submap, resize
|
||||
|
||||
# will start a submap called "resize"
|
||||
submap = resize
|
||||
|
||||
# sets repeatable binds for resizing the active window
|
||||
binde = , L, resizeactive, 10 0
|
||||
binde = , H, resizeactive, -10 0
|
||||
binde = , K, resizeactive, 0 -10
|
||||
binde = , J, resizeactive, 0 10
|
||||
|
||||
# use reset to go back to the global submap
|
||||
bind = , escape, submap, reset
|
||||
|
||||
# will reset the submap, which will return to the global submap
|
||||
submap = reset
|
||||
|
||||
# keybinds further down will be global again...
|
||||
|
||||
@@ -1,78 +1,106 @@
|
||||
# ######## Window rules ########
|
||||
windowrule = noblur,.*
|
||||
# windowrule = opacity 0.89 override 0.89 override, .* # Applies transparency to EVERY WINDOW
|
||||
windowrule = float, ^(blueberry.py)$
|
||||
windowrule = float, ^(steam)$
|
||||
windowrule = float, ^(guifetch)$ # FlafyDev/guifetch
|
||||
windowrulev2 = tile, class:(dev.warp.Warp)
|
||||
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
||||
windowrule = center, title:^(Open File)(.*)$
|
||||
windowrule = center, title:^(Select a File)(.*)$
|
||||
windowrule = center, title:^(Choose wallpaper)(.*)$
|
||||
windowrule = center, title:^(Open Folder)(.*)$
|
||||
windowrule = center, title:^(Save As)(.*)$
|
||||
windowrule = center, title:^(Library)(.*)$
|
||||
windowrule = center, title:^(File Upload)(.*)$
|
||||
|
||||
# Dialogs
|
||||
windowrule=float,title:^(Open File)(.*)$
|
||||
windowrule=float,title:^(Select a File)(.*)$
|
||||
windowrule=float,title:^(Choose wallpaper)(.*)$
|
||||
windowrule=float,title:^(Open Folder)(.*)$
|
||||
windowrule=float,title:^(Save As)(.*)$
|
||||
windowrule=float,title:^(Library)(.*)$
|
||||
windowrule=float,title:^(File Upload)(.*)$
|
||||
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
# Tearing
|
||||
windowrule=immediate,.*\.exe
|
||||
windowrulev2=immediate,class:(steam_app)
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/
|
||||
|
||||
# No shadow for tiled windows
|
||||
windowrulev2 = noshadow,floating:0
|
||||
windowrulev2 = opacity 0.90 0.90,class:^(firefox)$
|
||||
windowrulev2 = opacity 0.90 0.90,class:^(Google-chrome)$
|
||||
windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^([Cc]ode)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(kitty)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
|
||||
windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$
|
||||
windowrulev2 = opacity 0.70 0.70,class:^(steamwebhelper)$
|
||||
windowrulev2 = opacity 0.70 0.70,class:^([Ss]potify)$
|
||||
windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Free)$
|
||||
windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Premium)$
|
||||
|
||||
# ######## Layer rules ########
|
||||
layerrule = xray 1, .*
|
||||
# layerrule = noanim, .*
|
||||
layerrule = noanim, walker
|
||||
layerrule = noanim, selection
|
||||
layerrule = noanim, overview
|
||||
layerrule = noanim, anyrun
|
||||
layerrule = noanim, indicator.*
|
||||
layerrule = noanim, osk
|
||||
layerrule = noanim, hyprpicker
|
||||
layerrule = blur, shell:*
|
||||
layerrule = ignorealpha 0.6, shell:*
|
||||
windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(vesktop)$ # Vesktop
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk
|
||||
|
||||
layerrule = noanim, noanim
|
||||
layerrule = blur, gtk-layer-shell
|
||||
layerrule = ignorezero, gtk-layer-shell
|
||||
layerrule = blur, launcher
|
||||
layerrule = ignorealpha 0.5, launcher
|
||||
layerrule = blur, notifications
|
||||
layerrule = ignorealpha 0.69, notifications
|
||||
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$
|
||||
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
|
||||
windowrulev2 = float,title:^(About Mozilla Firefox)$
|
||||
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
|
||||
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
|
||||
windowrulev2 = float,class:^(kitty)$,title:^(top)$
|
||||
windowrulev2 = float,class:^(kitty)$,title:^(btop)$
|
||||
windowrulev2 = float,class:^(kitty)$,title:^(htop)$
|
||||
windowrulev2 = float,class:^(vlc)$
|
||||
windowrulev2 = float,class:^(kvantummanager)$
|
||||
windowrulev2 = float,class:^(qt5ct)$
|
||||
windowrulev2 = float,class:^(qt6ct)$
|
||||
windowrulev2 = float,class:^(nwg-look)$
|
||||
windowrulev2 = float,class:^(org.kde.ark)$
|
||||
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = float,class:^(blueman-manager)$
|
||||
windowrulev2 = float,class:^(nm-applet)$
|
||||
windowrulev2 = float,class:^(nm-connection-editor)$
|
||||
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
|
||||
# ags
|
||||
layerrule = animation slide top, sideleft.*
|
||||
layerrule = animation slide top, sideright.*
|
||||
layerrule = blur, session
|
||||
windowrulev2 = float,class:^(Signal)$ # Signal-Gtk
|
||||
windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
|
||||
windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk
|
||||
windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
|
||||
windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk
|
||||
windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk
|
||||
windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk
|
||||
windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
|
||||
windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
|
||||
windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
|
||||
windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
|
||||
|
||||
layerrule = blur, bar
|
||||
layerrule = ignorealpha 0.6, bar
|
||||
layerrule = blur, corner.*
|
||||
layerrule = ignorealpha 0.6, corner.*
|
||||
layerrule = blur, dock
|
||||
layerrule = ignorealpha 0.6, dock
|
||||
layerrule = blur, indicator.*
|
||||
layerrule = ignorealpha 0.6, indicator.*
|
||||
layerrule = blur, overview
|
||||
layerrule = ignorealpha 0.6, overview
|
||||
layerrule = blur, cheatsheet
|
||||
layerrule = ignorealpha 0.6, cheatsheet
|
||||
layerrule = blur, sideright
|
||||
layerrule = ignorealpha 0.6, sideright
|
||||
layerrule = blur, sideleft
|
||||
layerrule = ignorealpha 0.6, sideleft
|
||||
layerrule = blur, indicator*
|
||||
layerrule = ignorealpha 0.6, indicator*
|
||||
layerrule = blur, osk
|
||||
layerrule = ignorealpha 0.6, osk
|
||||
# common modals
|
||||
windowrule = float,title:^(Open)$
|
||||
windowrule = float,title:^(Choose Files)$
|
||||
windowrule = float,title:^(Save As)$
|
||||
windowrule = float,title:^(Confirm to replace files)$
|
||||
windowrule = float,title:^(File Operation Progress)$
|
||||
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
|
||||
|
||||
# █░░ ▄▀█ █▄█ █▀▀ █▀█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# █▄▄ █▀█ ░█░ ██▄ █▀▄ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
layerrule = blur,rofi
|
||||
layerrule = ignorezero,rofi
|
||||
layerrule = blur,notifications
|
||||
layerrule = ignorezero,notifications
|
||||
layerrule = blur,swaync-notification-window
|
||||
layerrule = ignorezero,swaync-notification-window
|
||||
layerrule = blur,swaync-control-center
|
||||
layerrule = ignorezero,swaync-control-center
|
||||
layerrule = blur,logout_dialog
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
input {
|
||||
kb_layout = de
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
input {
|
||||
kb_layout = us,de
|
||||
kb_options=grp:alt_shift_toggle
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
@@ -18,8 +15,8 @@ general {
|
||||
gaps_in=6
|
||||
gaps_out=12
|
||||
border_size=4
|
||||
col.active_border=$borderActive
|
||||
col.inactive_border=$borderInactive
|
||||
col.active_border=$mauve
|
||||
col.inactive_border=$base
|
||||
}
|
||||
|
||||
misc {
|
||||
@@ -36,9 +33,9 @@ decoration {
|
||||
enabled = true
|
||||
xray = true
|
||||
}
|
||||
drop_shadow=true
|
||||
shadow_range=4
|
||||
col.shadow=0x66000000
|
||||
# drop_shadow=true
|
||||
# shadow_range=4
|
||||
# col.shadow=0x66000000
|
||||
}
|
||||
|
||||
animations {
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
exec-once=asztal
|
||||
exec-once=waybar
|
||||
exec-once=swaync
|
||||
exec-once=wl-paste --watch cliphist store
|
||||
|
||||
@@ -22,7 +22,7 @@ group {
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
drop_shadow = false
|
||||
# drop_shadow = false
|
||||
|
||||
blur {
|
||||
enabled = yes
|
||||
|
||||
@@ -45,6 +45,7 @@ programs.zsh = {
|
||||
syntaxHighlighting.enable = true;
|
||||
initExtra = ''
|
||||
eval "$(starship init zsh)"
|
||||
export PATH=$PATH:$HOME/Documents/Shells/flutter/flutter/bin
|
||||
'';
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
nil
|
||||
ripgrep
|
||||
lldb
|
||||
lazygit
|
||||
gcc
|
||||
];
|
||||
|
||||
programs.neovim = {
|
||||
@@ -16,7 +18,6 @@ programs.neovim = {
|
||||
|
||||
programs.neovim.plugins = [
|
||||
pkgs.vimPlugins.lazy-nvim
|
||||
pkgs.vimPlugins.nvim-lspconfig
|
||||
];
|
||||
|
||||
home.file =
|
||||
@@ -24,8 +25,11 @@ programs.neovim.plugins = [
|
||||
{
|
||||
".config/nvim/init.lua".source = ./init.lua;
|
||||
".config/nvim/lua/config/lazy.lua".source = ./lua/config/lazy.lua;
|
||||
# ".config/nvim/lua/plugins/flutter.lua".source = ./lua/plugins/flutter.lua;
|
||||
".config/nvim/lua/plugins/coq.lua".source = ./lua/plugins/coq.lua;
|
||||
".config/nvim/lua/plugins/flutter.lua".source = ./lua/plugins/flutter.lua;
|
||||
# ".config/nvim/lua/plugins/coq.lua".source = ./lua/plugins/coq.lua;
|
||||
".config/nvim/lua/plugins/blink-cmp.lua".source = ./lua/plugins/blink-cmp.lua;
|
||||
".config/nvim/lua/plugins/lsp.lua".source = ./lua/plugins/lsp.lua;
|
||||
# ".config/nvim/lua/plugins/mason.lua".source = ./lua/plugins/mason.lua;
|
||||
".config/nvim/lua/plugins/treesitter.lua".source = ./lua/plugins/treesitter.lua;
|
||||
".config/nvim/lua/plugins/catppuccin.lua".source = ./lua/plugins/catppuccin.lua;
|
||||
".config/nvim/lua/plugins/telescope.lua".source = ./lua/plugins/telescope.lua;
|
||||
@@ -38,6 +42,17 @@ programs.neovim.plugins = [
|
||||
".config/nvim/lua/plugins/dap.lua".source = ./lua/plugins/dap.lua;
|
||||
".config/nvim/lua/plugins/blankline.lua".source = ./lua/plugins/blankline.lua;
|
||||
".config/nvim/lua/plugins/rustaceanvim.lua".source = ./lua/plugins/rustaceanvim.lua;
|
||||
".config/nvim/lua/plugins/lazygit.lua".source = ./lua/plugins/lazygit.lua;
|
||||
".config/nvim/lua/plugins/toggleterm.lua".source = ./lua/plugins/toggleterm.lua;
|
||||
".config/nvim/lua/plugins/love.lua".source = ./lua/plugins/love.lua;
|
||||
".config/nvim/lua/plugins/code-action.lua".source = ./lua/plugins/code-action.lua;
|
||||
".config/nvim/lua/plugins/tabby.lua".source = ./lua/plugins/tabby.lua;
|
||||
".config/nvim/lua/plugins/tabout.lua".source = ./lua/plugins/tabout.lua;
|
||||
".config/nvim/lua/plugins/autopair.lua".source = ./lua/plugins/autopair.lua;
|
||||
".config/nvim/lua/plugins/mini-animate.lua".source = ./lua/plugins/mini-animate.lua;
|
||||
".config/nvim/lua/plugins/vim-suda.lua".source = ./lua/plugins/vim-suda.lua;
|
||||
".config/nvim/lua/plugins/tiny-inline-diagnostic.lua".source = ./lua/plugins/tiny-inline-diagnostic.lua;
|
||||
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -31,11 +31,20 @@ vim.keymap.set('n', '<C-Down>', ':resize +2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Left>', ':vertical resize -2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Right>', ':vertical resize +2<CR>', opts)
|
||||
|
||||
|
||||
vim.keymap.set('i', 'jk', '<Esc>', opts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
|
||||
-- jump to definition
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
|
||||
-- code actions
|
||||
vim.keymap.set("n", "<leader>ca", function()
|
||||
require("tiny-code-action").code_action()
|
||||
end, { noremap = true, silent = true })
|
||||
|
||||
-- Lazy
|
||||
require("config.lazy")
|
||||
|
||||
-- require("flutter-tools").setup {} -- use defaults
|
||||
require("catppuccin").setup({
|
||||
integrations = {
|
||||
@@ -51,7 +60,6 @@ require("catppuccin").setup({
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- css colors
|
||||
vim.opt.termguicolors = true
|
||||
require('nvim-highlight-colors').setup({})
|
||||
@@ -59,69 +67,109 @@ require('nvim-highlight-colors').setup({})
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
|
||||
|
||||
|
||||
-- lsp
|
||||
local on_attach = function(_, bufnr)
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('coq').lsp_ensure_capabilities(capabilities)
|
||||
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-language-server" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
require('lspconfig').nil_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
--[[ require('lspconfig').rust_analyzer.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
} ]]
|
||||
|
||||
|
||||
|
||||
-- Plugin setups
|
||||
require('lualine').setup()
|
||||
require("dapui").setup()
|
||||
require("ibl").setup()
|
||||
require("telescope").load_extension("flutter")
|
||||
require("toggleterm").setup{}
|
||||
require("mini.animate").setup()
|
||||
require("tiny-inline-diagnostic").setup()
|
||||
|
||||
-- -- Debugger
|
||||
require("tabby").setup({
|
||||
preset = 'tab_only'
|
||||
})
|
||||
|
||||
-- alternatively you can override the default configs
|
||||
require("flutter-tools").setup {
|
||||
ui = {
|
||||
-- the border type to use for all floating windows, the same options/formats
|
||||
-- used for ":h nvim_open_win" e.g. "single" | "shadow" | {<table-of-eight-chars>}
|
||||
border = "rounded",
|
||||
-- This determines whether notifications are show with `vim.notify` or with the plugin's custom UI
|
||||
-- please note that this option is eventually going to be deprecated and users will need to
|
||||
-- depend on plugins like `nvim-notify` instead.
|
||||
notification_style = 'plugin'
|
||||
},
|
||||
decorations = {
|
||||
statusline = {
|
||||
-- set to true to be able use the 'flutter_tools_decorations.app_version' in your statusline
|
||||
-- this will show the current version of the flutter app from the pubspec.yaml file
|
||||
app_version = false,
|
||||
-- set to true to be able use the 'flutter_tools_decorations.device' in your statusline
|
||||
-- this will show the currently running device if an application was started with a specific
|
||||
-- device
|
||||
device = true,
|
||||
-- set to true to be able use the 'flutter_tools_decorations.project_config' in your statusline
|
||||
-- this will show the currently selected project configuration
|
||||
project_config = false,
|
||||
}
|
||||
},
|
||||
debugger = { -- integrate with nvim dap + install dart code debugger
|
||||
enabled = true,
|
||||
-- if empty dap will not stop on any exceptions, otherwise it will stop on those specified
|
||||
-- see |:help dap.set_exception_breakpoints()| for more info
|
||||
exception_breakpoints = { "uncaught" },
|
||||
-- Whether to call toString() on objects in debug views like hovers and the
|
||||
-- variables list.
|
||||
-- Invoking toString() has a performance cost and may introduce side-effects,
|
||||
-- although users may expected this functionality. null is treated like false.
|
||||
evaluate_to_string_in_debug_views = true,
|
||||
},
|
||||
flutter_lookup_cmd = nil, -- example "dirname $(which flutter)" or "asdf where flutter"
|
||||
root_patterns = { ".git", "pubspec.yaml" }, -- patterns to find the root of your flutter project
|
||||
fvm = false, -- takes priority over path, uses <workspace>/.fvm/flutter_sdk if enabled
|
||||
widget_guides = {
|
||||
enabled = true,
|
||||
},
|
||||
closing_tags = {
|
||||
highlight = "ErrorMsg", -- highlight for the closing tag
|
||||
prefix = ">", -- character to use for close tag e.g. > Widget
|
||||
priority = 10, -- priority of virtual text in current line
|
||||
-- consider to configure this when there is a possibility of multiple virtual text items in one line
|
||||
-- see `priority` option in |:help nvim_buf_set_extmark| for more info
|
||||
enabled = true -- set to false to disable
|
||||
},
|
||||
dev_log = {
|
||||
enabled = true,
|
||||
filter = nil, -- optional callback to filter the log
|
||||
-- takes a log_line as string argument; returns a boolean or nil;
|
||||
-- the log_line is only added to the output if the function returns true
|
||||
notify_errors = false, -- if there is an error whilst running then notify the user
|
||||
open_cmd = "15split", -- command to use to open the log buffer
|
||||
focus_on_open = true, -- focus on the newly opened log window
|
||||
},
|
||||
dev_tools = {
|
||||
autostart = false, -- autostart devtools server if not detected
|
||||
auto_open_browser = false, -- Automatically opens devtools in the browser
|
||||
},
|
||||
outline = {
|
||||
open_cmd = "30vnew", -- command to use to open the outline buffer
|
||||
auto_open = false -- if true this will open the outline automatically when it is first populated
|
||||
},
|
||||
lsp = {
|
||||
color = { -- show the derived colours for dart variables
|
||||
enabled = true, -- whether or not to highlight color variables at all, only supported on flutter >= 2.10
|
||||
background = true, -- highlight the background
|
||||
background_color = nil, -- required, when background is transparent (i.e. background_color = { r = 19, g = 17, b = 24},)
|
||||
foreground = false, -- highlight the foreground
|
||||
virtual_text = true, -- show the highlight using virtual text
|
||||
virtual_text_str = "■", -- the virtual text character to highlight
|
||||
},
|
||||
-- see the link below for details on each option:
|
||||
-- https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/tool/lsp_spec/README.md#client-workspace-configuration
|
||||
settings = {
|
||||
showTodos = true,
|
||||
completeFunctionCalls = true,
|
||||
renameFilesWithClasses = "prompt", -- "always"
|
||||
enableSnippets = true,
|
||||
updateImportsOnRename = true, -- Whether to update imports and other directives when files are renamed. Required for `FlutterRename` command.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
------------- -- Debugger
|
||||
local dap, dapui = require("dap"), require("dapui")
|
||||
dap.listeners.before.attach.dapui_config = function()
|
||||
dapui.open()
|
||||
@@ -145,6 +193,7 @@ dap.adapters.lldb = {
|
||||
dap.configurations.c = dap.configurations.cpp
|
||||
dap.configurations.rust = dap.configurations.cpp
|
||||
|
||||
|
||||
--------------------------------------------
|
||||
local builtin = require('telescope.builtin')
|
||||
-- Telescope binds
|
||||
@@ -152,16 +201,26 @@ vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find f
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
||||
vim.keymap.set('n', '<leader>fb', ":Telescope file_browser<CR>", { desc = 'Telescope file_browser' })
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
|
||||
|
||||
vim.keymap.set('n', '<leader>fl', ": Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
|
||||
vim.keymap.set('n', '<leader>fl', ":Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
|
||||
-- Dap binds
|
||||
vim.keymap.set('n', '<leader>do', dapui.open, { desc = "Open debug overlay" })
|
||||
vim.keymap.set('n', '<leader>dc', dapui.close, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F5>', dap.toggle_breakpoint, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F6>', dap.continue, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F7>', dap.step_over, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F8>', dap.step_into, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F5>', dap.toggle_breakpoint, { desc = "Toggle breakpoint" })
|
||||
vim.keymap.set('n', '<F6>', dap.continue, { desc = "dap Continue" })
|
||||
vim.keymap.set('n', '<F7>', dap.step_over, { desc = "dap step over" })
|
||||
vim.keymap.set('n', '<F8>', dap.step_into, { desc = "dap step into" })
|
||||
|
||||
|
||||
|
||||
-- toggleterm binds
|
||||
vim.keymap.set('n', '<leader>tf', ':ToggleTerm direction=float <CR>', { desc = "Open floating terminal" })
|
||||
vim.keymap.set('n', '<leader>tt', ':ToggleTerm direction=tab size=50 <CR>', { desc = "Open terminal in new tab" })
|
||||
vim.keymap.set('n', '<leader>tv', ':ToggleTerm direction=vertical <CR>', { desc = "Open terminal vertical" })
|
||||
vim.keymap.set('n', '<leader>ts', ':ToggleTerm direction=vertical <CR>', { desc = "select open terminal" })
|
||||
-- code actions
|
||||
vim.keymap.set("n", "<leader>ca", function()
|
||||
require("tiny-code-action").code_action()
|
||||
end, { desc = "Show code actions", noremap = true, silent = true })
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ vim.opt.rtp:prepend(lazypath)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
|
||||
7
packages/nvim/lua/plugins/autopair.lua
Normal file
7
packages/nvim/lua/plugins/autopair.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
-- use opts = {} for passing setup options
|
||||
-- this is equivalent to setup({}) function
|
||||
}
|
||||
48
packages/nvim/lua/plugins/blink-cmp.lua
Normal file
48
packages/nvim/lua/plugins/blink-cmp.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
return {
|
||||
'saghen/blink.cmp',
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = '1.*',
|
||||
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
|
||||
-- build = 'cargo build --release',
|
||||
-- If you use nix, you can build from source using latest nightly rust with:
|
||||
-- build = 'nix run .#build-plugin',
|
||||
|
||||
---@module 'blink.cmp'
|
||||
---@type blink.cmp.Config
|
||||
opts = {
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = {
|
||||
preset = 'enter',
|
||||
-- map tap to cycle through
|
||||
['<S-Tab>'] = { 'select_prev', 'fallback' },
|
||||
['<Tab>'] = { 'select_next', 'fallback' },
|
||||
},
|
||||
|
||||
|
||||
appearance = {
|
||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = false } },
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { 'lsp', 'path', 'snippets', 'buffer' },
|
||||
},
|
||||
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" }
|
||||
},
|
||||
opts_extend = { "sources.default" }
|
||||
}
|
||||
11
packages/nvim/lua/plugins/code-action.lua
Normal file
11
packages/nvim/lua/plugins/code-action.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
"rachartier/tiny-code-action.nvim",
|
||||
dependencies = {
|
||||
{"nvim-lua/plenary.nvim"},
|
||||
{"nvim-telescope/telescope.nvim"},
|
||||
},
|
||||
event = "LspAttach",
|
||||
config = function()
|
||||
require('tiny-code-action').setup()
|
||||
end
|
||||
}
|
||||
21
packages/nvim/lua/plugins/lazygit.lua
Normal file
21
packages/nvim/lua/plugins/lazygit.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- nvim v0.8.0
|
||||
return {
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"LazyGit",
|
||||
"LazyGitConfig",
|
||||
"LazyGitCurrentFile",
|
||||
"LazyGitFilter",
|
||||
"LazyGitFilterCurrentFile",
|
||||
},
|
||||
-- optional for floating window border decoration
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
-- setting the keybinding for LazyGit with 'keys' is recommended in
|
||||
-- order to load the plugin when the command is run for the first time
|
||||
keys = {
|
||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
||||
}
|
||||
}
|
||||
10
packages/nvim/lua/plugins/love.lua
Normal file
10
packages/nvim/lua/plugins/love.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
"S1M0N38/love2d.nvim",
|
||||
cmd = "LoveRun",
|
||||
opts = { },
|
||||
keys = {
|
||||
{ "<leader>v", ft = "lua", desc = "LÖVE" },
|
||||
{ "<leader>vv", "<cmd>LoveRun<cr>", ft = "lua", desc = "Run LÖVE" },
|
||||
{ "<leader>vs", "<cmd>LoveStop<cr>", ft = "lua", desc = "Stop LÖVE" },
|
||||
},
|
||||
}
|
||||
@@ -1,53 +1,30 @@
|
||||
local on_attach = function(_, bufnr)
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
dependencies = { 'saghen/blink.cmp' },
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
-- example using `opts` for defining servers
|
||||
opts = {
|
||||
servers = {
|
||||
lua_ls = {},
|
||||
nil_ls = {},
|
||||
rust_analyzer = {}
|
||||
}
|
||||
},
|
||||
config = function(_, opts)
|
||||
local lspconfig = require('lspconfig')
|
||||
for server, config in pairs(opts.servers) do
|
||||
-- passing config.capabilities to blink.cmp merges with the capabilities in your
|
||||
-- `opts[server].capabilities, if you've defined it
|
||||
config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities)
|
||||
lspconfig[server].setup(config)
|
||||
end
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('coq').lsp_capabilities(capabilities) -- COQ spezifische Fähigkeiten
|
||||
|
||||
require('neodev').setup()
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-language-server" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
-- -- example calling setup directly for each LSP
|
||||
-- config = function()
|
||||
-- local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||
-- local lspconfig = require('lspconfig')
|
||||
--
|
||||
-- lspconfig['lua_ls'].setup({ capabilities = capabilities })
|
||||
-- end
|
||||
}
|
||||
|
||||
require('lspconfig').nil_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
require('lspconfig').rust_analyzer.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
37
packages/nvim/lua/plugins/mason.lua
Normal file
37
packages/nvim/lua/plugins/mason.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
return {
|
||||
|
||||
"williamboman/mason.nvim",
|
||||
cmd = "Mason",
|
||||
keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
build = ":MasonUpdate",
|
||||
opts_extend = { "ensure_installed" },
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shfmt",
|
||||
},
|
||||
},
|
||||
---@param opts MasonSettings | {ensure_installed: string[]}
|
||||
config = function(_, opts)
|
||||
require("mason").setup(opts)
|
||||
local mr = require("mason-registry")
|
||||
mr:on("package:install:success", function()
|
||||
vim.defer_fn(function()
|
||||
-- trigger FileType event to possibly load this newly installed LSP server
|
||||
require("lazy.core.handler.event").trigger({
|
||||
event = "FileType",
|
||||
buf = vim.api.nvim_get_current_buf(),
|
||||
})
|
||||
end, 100)
|
||||
end)
|
||||
|
||||
mr.refresh(function()
|
||||
for _, tool in ipairs(opts.ensure_installed) do
|
||||
local p = mr.get_package(tool)
|
||||
if not p:is_installed() then
|
||||
p:install()
|
||||
end
|
||||
end
|
||||
end)
|
||||
end,
|
||||
}
|
||||
1
packages/nvim/lua/plugins/mini-animate.lua
Normal file
1
packages/nvim/lua/plugins/mini-animate.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { 'echasnovski/mini.animate', version = false }
|
||||
1
packages/nvim/lua/plugins/nio.lua
Normal file
1
packages/nvim/lua/plugins/nio.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "nvim-neotest/nvim-nio" }
|
||||
8
packages/nvim/lua/plugins/tabby.lua
Normal file
8
packages/nvim/lua/plugins/tabby.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
'nanozuki/tabby.nvim',
|
||||
-- event = 'VimEnter', -- if you want lazy load, see below
|
||||
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||
config = function()
|
||||
-- configs...
|
||||
end,
|
||||
}
|
||||
42
packages/nvim/lua/plugins/tabout.lua
Normal file
42
packages/nvim/lua/plugins/tabout.lua
Normal file
@@ -0,0 +1,42 @@
|
||||
return {
|
||||
{
|
||||
'abecodes/tabout.nvim',
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('tabout').setup {
|
||||
tabkey = '<Tab>', -- key to trigger tabout, set to an empty string to disable
|
||||
backwards_tabkey = '<S-Tab>', -- key to trigger backwards tabout, set to an empty string to disable
|
||||
act_as_tab = true, -- shift content if tab out is not possible
|
||||
act_as_shift_tab = false, -- reverse shift content if tab out is not possible (if your keyboard/terminal supports <S-Tab>)
|
||||
default_tab = '<C-t>', -- shift default action (only at the beginning of a line, otherwise <TAB> is used)
|
||||
default_shift_tab = '<C-d>', -- reverse shift default action,
|
||||
enable_backwards = true, -- well ...
|
||||
completion = false, -- if the tabkey is used in a completion pum
|
||||
tabouts = {
|
||||
{ open = "'", close = "'" },
|
||||
{ open = '"', close = '"' },
|
||||
{ open = '`', close = '`' },
|
||||
{ open = '(', close = ')' },
|
||||
{ open = '[', close = ']' },
|
||||
{ open = '{', close = '}' }
|
||||
},
|
||||
ignore_beginning = true, --[[ if the cursor is at the beginning of a filled element it will rather tab out than shift the content ]]
|
||||
exclude = {} -- tabout will ignore these filetypes
|
||||
}
|
||||
end,
|
||||
dependencies = { -- These are optional
|
||||
"L3MON4D3/LuaSnip",
|
||||
},
|
||||
opt = true, -- Set this to true if the plugin is optional
|
||||
event = 'InsertCharPre', -- Set the event to 'InsertCharPre' for better compatibility
|
||||
priority = 1000,
|
||||
},
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
-- Disable default tab keybinding in LuaSnip
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
9
packages/nvim/lua/plugins/tiny-inline-diagnostic.lua
Normal file
9
packages/nvim/lua/plugins/tiny-inline-diagnostic.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
"rachartier/tiny-inline-diagnostic.nvim",
|
||||
event = "VeryLazy", -- Or `LspAttach`
|
||||
priority = 1000, -- needs to be loaded in first
|
||||
config = function()
|
||||
require('tiny-inline-diagnostic').setup()
|
||||
vim.diagnostic.config({ virtual_text = false }) -- Only if needed in your configuration, if you already have native LSP diagnostics
|
||||
end
|
||||
}
|
||||
4
packages/nvim/lua/plugins/toggleterm.lua
Normal file
4
packages/nvim/lua/plugins/toggleterm.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
-- amongst your other plugins
|
||||
{'akinsho/toggleterm.nvim', version = "*", config = true}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ return {
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "c", "lua", "html", "dart" },
|
||||
ensure_installed = { "c", "lua", "html", "dart", "nix" },
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
|
||||
3
packages/nvim/lua/plugins/vim-suda.lua
Normal file
3
packages/nvim/lua/plugins/vim-suda.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
"lambdalisue/vim-suda"
|
||||
}
|
||||
7
packages/nvim/nvim/plugins/autopair.lua
Normal file
7
packages/nvim/nvim/plugins/autopair.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
-- use opts = {} for passing setup options
|
||||
-- this is equivalent to setup({}) function
|
||||
}
|
||||
7
packages/nvim/nvim/plugins/blankline.lua
Normal file
7
packages/nvim/nvim/plugins/blankline.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
---@module "ibl"
|
||||
---@type ibl.config
|
||||
opts = {},
|
||||
}
|
||||
46
packages/nvim/nvim/plugins/blink-cmp.lua
Normal file
46
packages/nvim/nvim/plugins/blink-cmp.lua
Normal file
@@ -0,0 +1,46 @@
|
||||
return {
|
||||
'saghen/blink.cmp',
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = '1.*',
|
||||
opts = {
|
||||
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
|
||||
-- 'super-tab' for mappings similar to vscode (tab to accept)
|
||||
-- 'enter' for enter to accept
|
||||
-- 'none' for no mappings
|
||||
--
|
||||
-- All presets have the following mappings:
|
||||
-- C-space: Open menu or open docs if already open
|
||||
-- C-n/C-p or Up/Down: Select next/previous item
|
||||
-- C-e: Hide menu
|
||||
-- C-k: Toggle signature help (if signature.enabled = true)
|
||||
--
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = { preset = 'enter' },
|
||||
|
||||
appearance = {
|
||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = false } },
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { 'lsp', 'path', 'snippets', 'buffer' },
|
||||
},
|
||||
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" }
|
||||
},
|
||||
opts_extend = { "sources.default" }
|
||||
}
|
||||
11
packages/nvim/nvim/plugins/code-action.lua
Normal file
11
packages/nvim/nvim/plugins/code-action.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
"rachartier/tiny-code-action.nvim",
|
||||
dependencies = {
|
||||
{"nvim-lua/plenary.nvim"},
|
||||
{"nvim-telescope/telescope.nvim"},
|
||||
},
|
||||
event = "LspAttach",
|
||||
config = function()
|
||||
require('tiny-code-action').setup()
|
||||
end
|
||||
}
|
||||
8
packages/nvim/nvim/plugins/comment.lua
Normal file
8
packages/nvim/nvim/plugins/comment.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- add this to your lua/plugins.lua, lua/plugins/init.lua, or the file you keep your other plugins:
|
||||
return {
|
||||
'numToStr/Comment.nvim',
|
||||
opts = {
|
||||
-- add any options here
|
||||
}
|
||||
}
|
||||
|
||||
1
packages/nvim/nvim/plugins/dap.lua
Normal file
1
packages/nvim/nvim/plugins/dap.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "rcarriga/nvim-dap-ui", dependencies = {"mfussenegger/nvim-dap", "nvim-neotest/nvim-nio"} }
|
||||
21
packages/nvim/nvim/plugins/lazygit.lua
Normal file
21
packages/nvim/nvim/plugins/lazygit.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- nvim v0.8.0
|
||||
return {
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"LazyGit",
|
||||
"LazyGitConfig",
|
||||
"LazyGitCurrentFile",
|
||||
"LazyGitFilter",
|
||||
"LazyGitFilterCurrentFile",
|
||||
},
|
||||
-- optional for floating window border decoration
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
-- setting the keybinding for LazyGit with 'keys' is recommended in
|
||||
-- order to load the plugin when the command is run for the first time
|
||||
keys = {
|
||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
||||
}
|
||||
}
|
||||
11
packages/nvim/nvim/plugins/love.lua
Normal file
11
packages/nvim/nvim/plugins/love.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
-- using lazy.nvim
|
||||
return {
|
||||
"S1M0N38/love2d.nvim",
|
||||
cmd = "LoveRun",
|
||||
opts = { },
|
||||
keys = {
|
||||
{ "<leader>v", ft = "lua", desc = "LÖVE" },
|
||||
{ "<leader>vv", "<cmd>LoveRun<cr>", ft = "lua", desc = "Run LÖVE" },
|
||||
{ "<leader>vs", "<cmd>LoveStop<cr>", ft = "lua", desc = "Stop LÖVE" },
|
||||
},
|
||||
}
|
||||
1
packages/nvim/nvim/plugins/mini-animate.lua
Normal file
1
packages/nvim/nvim/plugins/mini-animate.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { 'echasnovski/mini.animate', version = '*' }
|
||||
1
packages/nvim/nvim/plugins/nio.nvim
Normal file
1
packages/nvim/nvim/plugins/nio.nvim
Normal file
@@ -0,0 +1 @@
|
||||
return { "nvim-neotest/nvim-nio" }
|
||||
5
packages/nvim/nvim/plugins/rustaceanvim.lua
Normal file
5
packages/nvim/nvim/plugins/rustaceanvim.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
'mrcjkb/rustaceanvim',
|
||||
version = '^6', -- Recommended
|
||||
lazy = false, -- This plugin is already lazy
|
||||
}
|
||||
8
packages/nvim/nvim/plugins/tabby.lua
Normal file
8
packages/nvim/nvim/plugins/tabby.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
'nanozuki/tabby.nvim',
|
||||
-- event = 'VimEnter', -- if you want lazy load, see below
|
||||
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||
config = function()
|
||||
-- configs...
|
||||
end,
|
||||
}
|
||||
45
packages/nvim/nvim/plugins/tabout.lua
Normal file
45
packages/nvim/nvim/plugins/tabout.lua
Normal file
@@ -0,0 +1,45 @@
|
||||
-- Lua
|
||||
return {
|
||||
{
|
||||
'abecodes/tabout.nvim',
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('tabout').setup {
|
||||
tabkey = '<Tab>', -- key to trigger tabout, set to an empty string to disable
|
||||
backwards_tabkey = '<S-Tab>', -- key to trigger backwards tabout, set to an empty string to disable
|
||||
act_as_tab = true, -- shift content if tab out is not possible
|
||||
act_as_shift_tab = false, -- reverse shift content if tab out is not possible (if your keyboard/terminal supports <S-Tab>)
|
||||
default_tab = '<C-t>', -- shift default action (only at the beginning of a line, otherwise <TAB> is used)
|
||||
default_shift_tab = '<C-d>', -- reverse shift default action,
|
||||
enable_backwards = true, -- well ...
|
||||
completion = false, -- if the tabkey is used in a completion pum
|
||||
tabouts = {
|
||||
{ open = "'", close = "'" },
|
||||
{ open = '"', close = '"' },
|
||||
{ open = '`', close = '`' },
|
||||
{ open = '(', close = ')' },
|
||||
{ open = '[', close = ']' },
|
||||
{ open = '{', close = '}' }
|
||||
},
|
||||
ignore_beginning = true, --[[ if the cursor is at the beginning of a filled element it will rather tab out than shift the content ]]
|
||||
exclude = {} -- tabout will ignore these filetypes
|
||||
}
|
||||
end,
|
||||
dependencies = { -- These are optional
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"L3MON4D3/LuaSnip",
|
||||
"hrsh7th/nvim-cmp"
|
||||
},
|
||||
opt = true, -- Set this to true if the plugin is optional
|
||||
event = 'InsertCharPre', -- Set the event to 'InsertCharPre' for better compatibility
|
||||
priority = 1000,
|
||||
},
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
-- Disable default tab keybinding in LuaSnip
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
6
packages/nvim/nvim/plugins/toggleterm.lua
Normal file
6
packages/nvim/nvim/plugins/toggleterm.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
-- amongst your other plugins
|
||||
{'akinsho/toggleterm.nvim', version = "*", config = true}
|
||||
-- or
|
||||
{'akinsho/toggleterm.nvim', version = "*", opts = {--[[ things you want to change go here]]}}
|
||||
}
|
||||
37
packages/nvim/nvim/plugins/trouble.lua
Normal file
37
packages/nvim/nvim/plugins/trouble.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{
|
||||
"<leader>xx",
|
||||
"<cmd>Trouble diagnostics toggle<cr>",
|
||||
desc = "Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xX",
|
||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||
desc = "Buffer Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cs",
|
||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cl",
|
||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
desc = "LSP Definitions / references / ... (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xL",
|
||||
"<cmd>Trouble loclist toggle<cr>",
|
||||
desc = "Location List (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xQ",
|
||||
"<cmd>Trouble qflist toggle<cr>",
|
||||
desc = "Quickfix List (Trouble)",
|
||||
},
|
||||
},
|
||||
}
|
||||
18
packages/nvim/nvim/plugins/whichkey.lua
Normal file
18
packages/nvim/nvim/plugins/whichkey.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
}
|
||||
725
packages/swaync/default.nix
Normal file
725
packages/swaync/default.nix
Normal file
@@ -0,0 +1,725 @@
|
||||
{...}: {
|
||||
# use later
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"$schema" = "/etc/xdg/swaync/configSchema.json";
|
||||
positionX = "right";
|
||||
positionY = "top";
|
||||
cssPriority = "user";
|
||||
control-center-margin-top = 22;
|
||||
control-center-margin-bottom = 2;
|
||||
control-center-margin-right = 1;
|
||||
control-center-margin-left = 0;
|
||||
notification-icon-size = 64;
|
||||
notification-body-image-height = 128;
|
||||
notification-body-image-width = 200;
|
||||
timeout = 6;
|
||||
timeout-low = 3;
|
||||
timeout-critical = 0;
|
||||
fit-to-screen = false;
|
||||
control-center-width = 400;
|
||||
control-center-height = 915;
|
||||
notification-window-width = 375;
|
||||
keyboard-shortcuts = true;
|
||||
image-visibility = "when-available";
|
||||
transition-time = 200;
|
||||
hide-on-clear = false;
|
||||
hide-on-action = true;
|
||||
script-fail-notify = true;
|
||||
widgets = [
|
||||
"title"
|
||||
"dnd"
|
||||
"menubar#desktop"
|
||||
"volume"
|
||||
"mpris"
|
||||
"notifications"
|
||||
];
|
||||
widget-config = {
|
||||
title = {
|
||||
text = " Quick settings";
|
||||
clear-all-button = true;
|
||||
button-text = "";
|
||||
};
|
||||
"menubar#desktop" = {
|
||||
"menu#screenshot" = {
|
||||
label = "\t Screenshot\t";
|
||||
position = "left";
|
||||
actions = [
|
||||
{
|
||||
label = "Whole screen";
|
||||
command = "sh -c 'swaync-client -cp; sleep 1; grimblast copysave output \"/tmp/screenshot.png\"; swappy -f \"/tmp/screenshot.png\"'";
|
||||
}
|
||||
{
|
||||
label = "Whole window / Select region";
|
||||
command = "sh -c 'swaync-client -cp; grimblast copysave area \"/tmp/screenshot.png\"; swappy -f \"/tmp/screenshot.png\"'";
|
||||
}
|
||||
];
|
||||
};
|
||||
"menu#power" = {
|
||||
label = "\t Power Menu\t ";
|
||||
position = "left";
|
||||
actions = [
|
||||
{
|
||||
label = " Logout";
|
||||
command = "hyprctl dispatch exit 0";
|
||||
}
|
||||
{
|
||||
label = " Shut down";
|
||||
command = "systemctl poweroff";
|
||||
}
|
||||
{
|
||||
label = " Suspend";
|
||||
command = "systemctl suspend";
|
||||
}
|
||||
{
|
||||
label = " Reboot";
|
||||
command = "systemctl reboot";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
volume = {
|
||||
label = "";
|
||||
expand-button-label = "";
|
||||
collapse-button-label = "";
|
||||
show-per-app = true;
|
||||
show-per-app-icon = true;
|
||||
show-per-app-label = true;
|
||||
};
|
||||
dnd = {
|
||||
text = " Do Not Disturb";
|
||||
};
|
||||
mpris = {
|
||||
image-size = 96;
|
||||
image-radius = 4;
|
||||
};
|
||||
label = {
|
||||
text = "Notifications";
|
||||
clear-all-button = true;
|
||||
button-text = "";
|
||||
};
|
||||
};
|
||||
scripts = {
|
||||
example-script = {
|
||||
exec = "echo 'Do something...'";
|
||||
urgency = "Normal";
|
||||
};
|
||||
};
|
||||
notification-visibility = {
|
||||
spotify = {
|
||||
state = "enabled";
|
||||
urgency = "Low";
|
||||
app-name = "Spotify";
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
@define-color shadow rgba(0, 0, 0, 0.25);
|
||||
/*
|
||||
*
|
||||
* Catppuccin Mocha palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #1E1D2E;
|
||||
@define-color mantle #181825;
|
||||
@define-color crust #11111b;
|
||||
|
||||
@define-color text #cdd6f4;
|
||||
@define-color subtext0 #a6adc8;
|
||||
@define-color subtext1 #bac2de;
|
||||
|
||||
@define-color surface0 #313244;
|
||||
@define-color surface1 #45475a;
|
||||
@define-color surface2 #585b70;
|
||||
|
||||
@define-color overlay0 #6c7086;
|
||||
@define-color overlay1 #7f849c;
|
||||
@define-color overlay2 #9399b2;
|
||||
|
||||
@define-color blue #89b4fa;
|
||||
@define-color lavender #b4befe;
|
||||
@define-color sapphire #74c7ec;
|
||||
@define-color sky #89dceb;
|
||||
@define-color teal #94e2d5;
|
||||
@define-color green #a6e3a1;
|
||||
@define-color yellow #f9e2af;
|
||||
@define-color peach #fab387;
|
||||
@define-color maroon #eba0ac;
|
||||
@define-color red #f38ba8;
|
||||
@define-color mauve #cba6f7;
|
||||
@define-color pink #f5c2e7;
|
||||
@define-color flamingo #f2cdcd;
|
||||
@define-color rosewater #f5e0dc;
|
||||
|
||||
@define-color base_lighter #1e1e2e;
|
||||
@define-color mauve_lighter #caa6f7;
|
||||
|
||||
* {
|
||||
font-family: "Product Sans";
|
||||
background-clip: border-box;
|
||||
}
|
||||
|
||||
/* #notifications_box { */
|
||||
/* border: solid 4px red; */
|
||||
/* } */
|
||||
|
||||
label {
|
||||
color: @text;
|
||||
}
|
||||
|
||||
.notification {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
/* margin: 0px; */
|
||||
/* margin: -15px -10px -15px -10px; */
|
||||
border-radius: 4px;
|
||||
background: inherit;
|
||||
/* background: @theme_bg_color; */
|
||||
/* background: shade(alpha(@borders, 2.55), 0.25); */
|
||||
}
|
||||
|
||||
.notification button {
|
||||
background: transparent;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.notification button:hover {
|
||||
/* background: @surface0; */
|
||||
background: @insensitive_bg_color;
|
||||
}
|
||||
|
||||
.notification-content {
|
||||
min-height: 64px;
|
||||
margin: 10px;
|
||||
padding: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.close-button {
|
||||
background: transparent;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.notification-default-action,
|
||||
.notification-action {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
|
||||
.notification-default-action {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* When alternative actions are visible */
|
||||
.notification-default-action:not(:only-child) {
|
||||
border-bottom-left-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
}
|
||||
|
||||
.notification-action {
|
||||
border-radius: 0px;
|
||||
padding: 2px;
|
||||
color: @text;
|
||||
/* color: @theme_text_color; */
|
||||
}
|
||||
|
||||
/* add bottom border radius to eliminate clipping */
|
||||
.notification-action:first-child {
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
|
||||
.notification-action:last-child {
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
/*** Notification ***/
|
||||
/* Notification header */
|
||||
.summary {
|
||||
color: @text;
|
||||
/* color: @theme_text_color; */
|
||||
font-size: 14px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.time {
|
||||
color: @subtext0;
|
||||
/* color: alpha(@theme_text_color, 0.9); */
|
||||
font-size: 12px;
|
||||
text-shadow: none;
|
||||
margin: 0px 0px 0px 0px;
|
||||
padding: 2px 0px;
|
||||
}
|
||||
|
||||
.body {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: @subtext1;
|
||||
/* color: alpha(@text, 0.9); */
|
||||
/* color: alpha(@theme_text_color, 0.9); */
|
||||
text-shadow: none;
|
||||
margin: 0px 0px 0px 0px;
|
||||
}
|
||||
|
||||
.body-image {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* The "Notifications" and "Do Not Disturb" text widget */
|
||||
.top-action-title {
|
||||
color: @text;
|
||||
/* color: @theme_text_color; */
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
/* Control center */
|
||||
|
||||
.control-center {
|
||||
background: alpha(@crust, .80);
|
||||
border-radius: 15px;
|
||||
border: 0px solid @selected;
|
||||
box-shadow: 0 0 10px 0 rgba(0,0,0,.80);
|
||||
margin: 10px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* .right.overlay-indicator { */
|
||||
/* border: solid 5px red; */
|
||||
/* } */
|
||||
|
||||
.control-center-list {
|
||||
/* background: @base; */
|
||||
background: alpha(@crust, .80);
|
||||
min-height: 5px;
|
||||
/* border: 1px solid @surface1; */
|
||||
border-top: none;
|
||||
border-radius: 0px 0px 4px 4px;
|
||||
}
|
||||
|
||||
.control-center-list-placeholder,
|
||||
.notification-group-icon,
|
||||
.notification-group {
|
||||
/* opacity: 1.0; */
|
||||
/* opacity: 0; */
|
||||
color: alpha(@theme_text_color, 0.50);
|
||||
}
|
||||
|
||||
.notification-group {
|
||||
/* unset the annoying focus thingie */
|
||||
opacity: 0;
|
||||
box-shadow: none;
|
||||
/* selectable: no; */
|
||||
}
|
||||
|
||||
.notification-group > box {
|
||||
all: unset;
|
||||
background: transparent;
|
||||
/* background: alpha(currentColor, 0.072); */
|
||||
padding: 4px;
|
||||
margin: 0px;
|
||||
/* margin: 0px -5px; */
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.notification-row {
|
||||
outline: none;
|
||||
transition: all 1s ease;
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: @theme_bg_color; */
|
||||
border: 0px solid @crust;
|
||||
margin: 10px 5px 0px 5px;
|
||||
border-radius: 14px;
|
||||
/* box-shadow: 0px 0px 4px black; */
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
}
|
||||
|
||||
.notification-row:focus,
|
||||
.notification-row:hover {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.control-center-list > row,
|
||||
.control-center-list > row:focus,
|
||||
.control-center-list > row:hover {
|
||||
background: transparent;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 5px 10px 5px 10px;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.control-center-list > row:last-child {
|
||||
padding: 5px 10px 10px 10px;
|
||||
}
|
||||
|
||||
|
||||
/* Window behind control center and on all other monitors */
|
||||
.blank-window {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/*** Widgets ***/
|
||||
|
||||
/* Title widget */
|
||||
.widget-title {
|
||||
margin: 0px;
|
||||
background: transparent;
|
||||
/* background: @theme_bg_color; */
|
||||
border-radius: 4px 4px 0px 0px;
|
||||
/* border: 1px solid @surface1; */
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.widget-title > label {
|
||||
margin: 18px 10px;
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.widget-title > button {
|
||||
font-weight: 700;
|
||||
padding: 7px 3px;
|
||||
margin-right: 10px;
|
||||
background: transparent;
|
||||
color: @text;
|
||||
/* color: @theme_text_color; */
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.widget-title > button:hover {
|
||||
background: @base;
|
||||
/* background: alpha(currentColor, 0.1); */
|
||||
}
|
||||
|
||||
/* Label widget */
|
||||
.widget-label {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
min-height: 5px;
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: @theme_bg_color; */
|
||||
border-radius: 0px 0px 4px 4px;
|
||||
/* border: 1px solid @surface1; */
|
||||
border-top: none;
|
||||
}
|
||||
.widget-label > label {
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
/* Menubar */
|
||||
.widget-menubar {
|
||||
background: transparent;
|
||||
/* background: @theme_bg_color; */
|
||||
/* border: 1px solid @surface1; */
|
||||
border-top: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
.widget-menubar > box > box {
|
||||
margin: 5px 10px 5px 10px;
|
||||
min-height: 40px;
|
||||
border-radius: 4px;
|
||||
background: transparent;
|
||||
}
|
||||
.widget-menubar > box > box > button {
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
min-width: 185px;
|
||||
min-height: 50px;
|
||||
margin-right: 10px;
|
||||
font-size: 14px;
|
||||
padding: 0px;
|
||||
}
|
||||
.widget-menubar > box > box > button:nth-child(2) {
|
||||
margin-right: 0px;
|
||||
}
|
||||
.widget-menubar button:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.widget-menubar button:focus:hover {
|
||||
background: @base;
|
||||
/* background: alpha(currentColor,0.1); */
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.widget-menubar > box > revealer > box {
|
||||
margin: 5px 10px 5px 10px;
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
border-radius: 4px;
|
||||
}
|
||||
.widget-menubar > box > revealer > box > button {
|
||||
background: transparent;
|
||||
min-height: 50px;
|
||||
padding: 0px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
/* Buttons grid */
|
||||
.widget-buttons-grid {
|
||||
/* background-color: @theme_bg_color; */
|
||||
background: transparent;
|
||||
/* border: 1px solid @surface1; */
|
||||
border-top: none;
|
||||
border-bottom: none;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin: 0px;
|
||||
padding: 5px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.widget-buttons-grid > flowbox > flowboxchild {
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
border-radius: 4px;
|
||||
min-height: 50px;
|
||||
min-width: 85px;
|
||||
margin: 5px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.widget-buttons-grid > flowbox > flowboxchild > button {
|
||||
background: transparent;
|
||||
border-radius: 4px;
|
||||
margin: 0px;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
||||
.widget-buttons-grid > flowbox > flowboxchild > button:hover {
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: alpha(currentColor, 0.1); */
|
||||
}
|
||||
|
||||
/* Mpris widget */
|
||||
.widget-mpris {
|
||||
padding: 8px;
|
||||
padding-bottom: 15px;
|
||||
margin-bottom: -33px;
|
||||
}
|
||||
.widget-mpris > box {
|
||||
padding: 0px;
|
||||
margin: -5px 0px -10px 0px;
|
||||
padding: 0px;
|
||||
border-radius: 4px;
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
background: alpha(@mantle, .80);
|
||||
}
|
||||
.widget-mpris > box > button:nth-child(1),
|
||||
.widget-mpris > box > button:nth-child(3) {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.widget-mpris > box > button:nth-child(1) {
|
||||
margin-left: -25px;
|
||||
margin-right: -25px;
|
||||
opacity: 0;
|
||||
}
|
||||
.widget-mpris > box > button:nth-child(3) {
|
||||
margin-left: -25px;
|
||||
margin-right: -25px;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.widget-mpris-album-art {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
/* Player button box */
|
||||
.widget-mpris > box > carousel > widget > box > box:nth-child(2) {
|
||||
margin: 5px 0px -5px 90px;
|
||||
}
|
||||
|
||||
/* Player buttons */
|
||||
.widget-mpris > box > carousel > widget > box > box:nth-child(2) > button {
|
||||
border-radius: 4px;
|
||||
}
|
||||
.widget-mpris > box > carousel > widget > box > box:nth-child(2) > button:hover {
|
||||
background: alpha(currentColor, 0.1);
|
||||
}
|
||||
carouselindicatordots {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.widget-mpris-title {
|
||||
color: #eeeeee;
|
||||
font-weight: bold;
|
||||
font-size: 1.25rem;
|
||||
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.widget-mpris-subtitle {
|
||||
color: #eeeeee;
|
||||
font-size: 1rem;
|
||||
text-shadow: 0px 0px 3px rgba(0, 0, 0, 1);
|
||||
}
|
||||
|
||||
.widget-mpris-player {
|
||||
border-radius: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.widget-mpris-player > box > image {
|
||||
margin: 0px 0px -48px 0px;
|
||||
}
|
||||
|
||||
.notification-group > box.vertical {
|
||||
/* border: solid 5px red; */
|
||||
margin-top: 3px
|
||||
}
|
||||
|
||||
/* Backlight and volume widgets */
|
||||
.widget-backlight,
|
||||
.widget-volume {
|
||||
background: transparent;
|
||||
/* background-color: @crust; */
|
||||
/* background-color: @theme_bg_color; */
|
||||
/* border: 1px solid @surface1; */
|
||||
border-top: none;
|
||||
border-bottom: none; font-size: 13px;
|
||||
font-weight: 600;
|
||||
border-radius: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
.widget-volume > box {
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
border-radius: 4px;
|
||||
margin: 5px 10px 5px 10px;
|
||||
min-height: 50px;
|
||||
}
|
||||
.widget-volume > box > label {
|
||||
min-width: 50px;
|
||||
padding: 0px;
|
||||
}
|
||||
.widget-volume > box > button {
|
||||
min-width: 50px;
|
||||
box-shadow: none;
|
||||
padding: 0px;
|
||||
}
|
||||
.widget-volume > box > button:hover {
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
background: @surface0;
|
||||
}
|
||||
.widget-volume > revealer > list {
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
border-radius: 4px;
|
||||
margin-top: 5px;
|
||||
padding: 0px;
|
||||
}
|
||||
.widget-volume > revealer > list > row {
|
||||
padding-left: 10px;
|
||||
min-height: 40px;
|
||||
background: transparent;
|
||||
}
|
||||
.widget-volume > revealer > list > row:hover {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.widget-backlight > scale {
|
||||
background: alpha(@mantle, .80);
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
border-radius: 0px 4px 4px 0px;
|
||||
margin: 5px 10px 5px 0px;
|
||||
padding: 0px 10px 0px 0px;
|
||||
min-height: 50px;
|
||||
}
|
||||
.widget-backlight > label {
|
||||
background: @surface0;
|
||||
/* background: alpha(currentColor, 0.05); */
|
||||
margin: 5px 0px 5px 10px;
|
||||
border-radius: 4px 0px 0px 4px;
|
||||
padding: 0px;
|
||||
min-height: 50px;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
/* DND widget */
|
||||
.widget-dnd {
|
||||
margin: 6px;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.widget-dnd > switch {
|
||||
background: alpha(@mantle, .80);
|
||||
font-size: initial;
|
||||
border-radius: 8px;
|
||||
box-shadow: none;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.widget-dnd > switch:hover {
|
||||
background: alpha(@mauve_lighter, .80);
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked {
|
||||
background: @mauve;
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked:hover {
|
||||
background: alpha(@mauve_lighter, .80);
|
||||
}
|
||||
|
||||
.widget-dnd > switch slider {
|
||||
background: alpha(@mauve_lighter, .80);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/* Toggles */
|
||||
.toggle:checked {
|
||||
background: @surface1;
|
||||
/* background: @theme_selected_bg_color; */
|
||||
}
|
||||
/*.toggle:not(:checked) {
|
||||
color: rgba(128, 128, 128, 0.5);
|
||||
}*/
|
||||
.toggle:checked:hover {
|
||||
background: @surface2;
|
||||
/* background: alpha(@theme_selected_bg_color, 0.75); */
|
||||
}
|
||||
|
||||
/* Sliders */
|
||||
scale {
|
||||
padding: 0px;
|
||||
margin: 0px 10px 0px 10px;
|
||||
}
|
||||
|
||||
scale trough {
|
||||
border-radius: 4px;
|
||||
background: @surface0;
|
||||
/* background: alpha(currentColor, 0.1); */
|
||||
}
|
||||
|
||||
scale highlight {
|
||||
border-radius: 5px;
|
||||
min-height: 10px;
|
||||
margin-right: -5px;
|
||||
}
|
||||
|
||||
scale slider {
|
||||
margin: -10px;
|
||||
min-width: 10px;
|
||||
min-height: 10px;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
padding: 0px;
|
||||
}
|
||||
scale slider:hover {
|
||||
}
|
||||
|
||||
.right.overlay-indicator {
|
||||
all: unset;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,29 +1,24 @@
|
||||
{
|
||||
"layer": "bottom",
|
||||
"position": "top",
|
||||
"height": 35,
|
||||
"height": 38,
|
||||
"spacing": 0,
|
||||
"modules-left": ["clock", "sway/workspaces","sway/mode"],
|
||||
"modules-center": ["sway/window"],
|
||||
"modules-right": ["network", "battery", "cpu", "memory", "custom/keyboard-layout", "pulseaudio", "tray"],
|
||||
"modules-left": ["clock", "hyprland/workspaces", "hyprland/submap"],
|
||||
"modules-center": [ ],
|
||||
"modules-right": ["network", "battery", "cpu", "memory", "custom/keyboard-layout", "custom/notification", "pulseaudio", "tray"],
|
||||
|
||||
"custom/keyboard-layout": {
|
||||
"interval": 1,
|
||||
"exec": "swaymsg -t get_inputs | jq -r '.[] | select(.type == \"keyboard\") | .xkb_active_layout_name'"
|
||||
"exec": "hyprctl devices -j | jq -r '.keyboards[] | .active_keymap' | head -n1 | cut -c1-2 | tr 'a-z' 'A-Z'"
|
||||
},
|
||||
|
||||
"custom/notification": {
|
||||
"on-click": "swaync-client -t",
|
||||
"format": "♥"
|
||||
},
|
||||
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": "CPU: {usage}% {avg_frequency} GHz"
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": "RAM: {used} GiB"
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"battery": {
|
||||
"bat": "BAT0",
|
||||
"states": {
|
||||
"good": 90,
|
||||
@@ -37,6 +32,17 @@
|
||||
"format-icons": ["", "", "" , "", ""]
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": "CPU: {usage}% {avg_frequency} GHz"
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": "RAM: {used} GiB"
|
||||
},
|
||||
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": " Muted",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"custom/keyboard-layout": {
|
||||
"interval": 1,
|
||||
"exec":"swaymsg -t get_inputs --raw | jq -r '.[] | .xkb_active_layout_name'"
|
||||
"exec": "swaymsg -t get_inputs | jq -r '.[] | select(.type == \"keyboard\") | .xkb_active_layout_name'"
|
||||
},
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@ window#waybar {
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#custom-keyboard-layout,
|
||||
#custom-notification,
|
||||
#tray,
|
||||
#battery{
|
||||
background: rgba(10,10,10,100);
|
||||
opacity: 0.8;
|
||||
@@ -38,7 +40,7 @@ window#waybar {
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
#workspaces button.focused{
|
||||
#workspaces button.active{
|
||||
background: @mauve;
|
||||
color: @base;
|
||||
opacity: 0.8;
|
||||
@@ -64,12 +66,11 @@ window#waybar {
|
||||
border-radius: 10px 0px 0px 10px;
|
||||
}
|
||||
|
||||
#pulseaudio{
|
||||
#tray{
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
margin-right: 5px
|
||||
}
|
||||
|
||||
|
||||
#workspaces{
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ window#waybar {
|
||||
#memory,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#custom-keyboard-layout,
|
||||
#battery{
|
||||
background: rgba(10,10,10,100);
|
||||
opacity: 0.8;
|
||||
@@ -69,12 +68,6 @@ window#waybar {
|
||||
margin-right: 5px
|
||||
}
|
||||
|
||||
#custom-keyboard-layout{
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
color: @mauve;
|
||||
}
|
||||
|
||||
|
||||
#workspaces{
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user