Many changes
93
colors/kaolin-dark/default.nix
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
# Kaolin-dark scheme by alternateved (http://github.com/alternateved)
|
||||||
|
# Inspired by (https://github.com/ogdenwebb/emacs-kaolin-themes)
|
||||||
|
|
||||||
|
{ config, ... }: {
|
||||||
|
custom.colors = {
|
||||||
|
base00 = "#18181B";
|
||||||
|
base01 = "#222225";
|
||||||
|
base02 = "#4B5254";
|
||||||
|
base03 = "#545C5E";
|
||||||
|
base04 = "#879193";
|
||||||
|
base05 = "#9ba5a7";
|
||||||
|
base06 = "#d0d0d4";
|
||||||
|
base07 = "#E4E4E8";
|
||||||
|
base08 = "#CD5C60";
|
||||||
|
base09 = "#DBAC66";
|
||||||
|
base0A = "#F2C866";
|
||||||
|
base0B = "#6FB593";
|
||||||
|
base0C = "#4D9391";
|
||||||
|
base0D = "#91B9C7";
|
||||||
|
base0E = "#845A84";
|
||||||
|
base0F = "#E36D5B";
|
||||||
|
};
|
||||||
|
|
||||||
|
custom.colors.kitty.enable = false;
|
||||||
|
programs.kitty.settings = with config.custom.colors; {
|
||||||
|
## name: Kaolin Dark
|
||||||
|
## author: Ogden Webb
|
||||||
|
## license: GNU GPLv3
|
||||||
|
## blurb: Dark jade theme inspired by Sierra.vim.
|
||||||
|
|
||||||
|
# The basic colors
|
||||||
|
foreground = base07;
|
||||||
|
background = "#000000";
|
||||||
|
# background = base00;
|
||||||
|
|
||||||
|
selection_foreground = base00;
|
||||||
|
selection_background = base07;
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
cursor = base07;
|
||||||
|
cursor_text_color = "#ffffff";
|
||||||
|
|
||||||
|
# kitty window border colors
|
||||||
|
active_border_color = base0C;
|
||||||
|
inactive_border_color = base02;
|
||||||
|
|
||||||
|
# Tab bar colors
|
||||||
|
active_tab_background = base07;
|
||||||
|
active_tab_foreground = base00;
|
||||||
|
inactive_tab_background = base04;
|
||||||
|
inactive_tab_foreground = base00;
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 = base02;
|
||||||
|
color8 = base04;
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 = base08;
|
||||||
|
color9 = base0F;
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 = base0B;
|
||||||
|
color10 = "#72CCBA";
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 = base09;
|
||||||
|
color11 = base0A;
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 = base0D;
|
||||||
|
color12 = "#97B8DE";
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 = base0E;
|
||||||
|
color13 = "#8C629C";
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 = base0C;
|
||||||
|
color14 = "#5096AB";
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 = base07;
|
||||||
|
color15 = "#EFEFF1";
|
||||||
|
|
||||||
|
# other
|
||||||
|
color16 = base09;
|
||||||
|
color17 = base0F;
|
||||||
|
color18 = base01;
|
||||||
|
color19 = base02;
|
||||||
|
color20 = base04;
|
||||||
|
color21 = base06;
|
||||||
|
};
|
||||||
|
}
|
20
colors/monokai-dark/default.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{ ... }: {
|
||||||
|
custom.colors = {
|
||||||
|
base00 = "#272822";
|
||||||
|
base01 = "#383830";
|
||||||
|
base02 = "#49483e";
|
||||||
|
base03 = "#75715e";
|
||||||
|
base04 = "#a59f85";
|
||||||
|
base05 = "#f8f8f2";
|
||||||
|
base06 = "#f5f4f1";
|
||||||
|
base07 = "#f9f8f5";
|
||||||
|
base08 = "#f92672";
|
||||||
|
base09 = "#fd971f";
|
||||||
|
base0A = "#f4bf75";
|
||||||
|
base0B = "#a6e22e";
|
||||||
|
base0C = "#a1efe4";
|
||||||
|
base0D = "#66d9ef";
|
||||||
|
base0E = "#ae81ff";
|
||||||
|
base0F = "#cc6633";
|
||||||
|
};
|
||||||
|
}
|
48
flake.lock
generated
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1705708511,
|
||||||
|
"narHash": "sha256-3f4BkRY70Fj7yvuo87c4QQPAjnt571g2wJ50jY7hnYc=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "ce4b88c465d928f4f8b75d0920f1788d5b65ca94",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1705496572,
|
||||||
|
"narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "842d9d80cfd4560648c785f8a4e6f3b096790e19",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
36
flake.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
description = "Nixos config flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# newmpkgs = {
|
||||||
|
# url = "github:EpsilonKu/newm-atha";
|
||||||
|
# inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
|
let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
./host/configuration.nix
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
103
home/default.nix
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
|
# manage.
|
||||||
|
home.username = "dakedres";
|
||||||
|
home.homeDirectory = "/home/dakedres";
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your configuration is
|
||||||
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||||
|
# introduces backwards incompatible changes.
|
||||||
|
#
|
||||||
|
# You should not change this value, even if you update Home Manager. If you do
|
||||||
|
# want to update the value, then make sure to first check the Home Manager
|
||||||
|
# release notes.
|
||||||
|
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
# The home.packages option allows you to install Nix packages into your
|
||||||
|
# environment.
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||||
|
# # overrides. You can do that directly here, just don't forget the
|
||||||
|
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||||
|
# # fonts?
|
||||||
|
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||||
|
|
||||||
|
# # You can also create simple shell scripts directly inside your
|
||||||
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
|
# # environment:
|
||||||
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
|
# echo "Hello, ${config.home.username}!"
|
||||||
|
# '')
|
||||||
|
|
||||||
|
# Util
|
||||||
|
neofetch
|
||||||
|
bitwarden
|
||||||
|
qutebrowser
|
||||||
|
discord
|
||||||
|
|
||||||
|
# Visual
|
||||||
|
imagemagick
|
||||||
|
kate
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
ncspot
|
||||||
|
|
||||||
|
# Environment
|
||||||
|
fishPlugins.grc
|
||||||
|
];
|
||||||
|
|
||||||
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
|
# plain files is through 'home.file'.
|
||||||
|
home.file = {
|
||||||
|
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||||
|
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||||
|
# # symlink to the Nix store copy.
|
||||||
|
# ".screenrc".source = dotfiles/screenrc;
|
||||||
|
|
||||||
|
# # You can also set the file content immediately.
|
||||||
|
# ".gradle/gradle.properties".text = ''
|
||||||
|
# org.gradle.console=verbose
|
||||||
|
# org.gradle.daemon.idletimeout=3600000
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Home Manager can also manage your environment variables through
|
||||||
|
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
||||||
|
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
||||||
|
# either
|
||||||
|
#
|
||||||
|
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# /etc/profiles/per-user/dakedres/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
home.sessionVariables = {
|
||||||
|
# EDITOR = "emacs";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
interactiveShellInit = ''
|
||||||
|
set fish_greeting # Disable greeting
|
||||||
|
'';
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -lh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
shellIntegration.enableFishIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
7
home/newm.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
homeManager.home.file = {
|
||||||
|
"testFile".text = "test";
|
||||||
|
};
|
||||||
|
}
|
144
host/configuration.nix
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
# 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, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
username = "dakedres";
|
||||||
|
in {
|
||||||
|
custom.username = username;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
|
./user.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users.${username} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Dakedres";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
# We live in a society
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
# That's what it's called
|
||||||
|
networking.hostName = "vulpes";
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# I don't need no fig leaves
|
||||||
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "America/Boise";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
|
services.xserver.displayManager.sddm.enable = true;
|
||||||
|
services.xserver.desktopManager.plasma5.enable = true;
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
layout = "us";
|
||||||
|
xkb.options = "caps:swapescape,altwin:swap_alt_win";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable bluetooth
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
# 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.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
|
git
|
||||||
|
wget
|
||||||
|
micro
|
||||||
|
openconnect
|
||||||
|
btop
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
# 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 = "23.11"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
39
host/hardware-configuration.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/81248e4c-95cf-4427-9df1-57f39b62a5a3";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/E50D-8471";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/25b9170e-c60a-49c1-929a-0fe6fc1e15ea"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
112
host/home.nix
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
terminal = "kitty";
|
||||||
|
# newm = inputs.newmpkgs.packages.${system}.newm-atha;
|
||||||
|
|
||||||
|
packages = [
|
||||||
|
# Utility
|
||||||
|
pkgs.bitwarden
|
||||||
|
pkgs.vimiv-qt
|
||||||
|
|
||||||
|
# Visual
|
||||||
|
pkgs.imagemagick
|
||||||
|
pkgs.kate
|
||||||
|
|
||||||
|
#Games
|
||||||
|
pkgs.prismlauncher-qt5
|
||||||
|
|
||||||
|
# Env
|
||||||
|
pkgs.eww-wayland
|
||||||
|
pkgs.socat
|
||||||
|
pkgs.jq
|
||||||
|
];
|
||||||
|
|
||||||
|
nonFreePackages = [
|
||||||
|
"discord"
|
||||||
|
];
|
||||||
|
|
||||||
|
in {
|
||||||
|
imports = [ ../colors/monokai-dark ];
|
||||||
|
custom.wallpaper = ../wallpapers/blip-blip-blip-blip.jpg;
|
||||||
|
|
||||||
|
home = {
|
||||||
|
sessionVariables = {
|
||||||
|
EDITOR = "kate";
|
||||||
|
BROWSER = "qutebrowser";
|
||||||
|
TERMINAL = "kitty";
|
||||||
|
TERM = "kitty";
|
||||||
|
FILEMANAGER = "kitty lf";
|
||||||
|
|
||||||
|
# Tell Electron apps it's wayland
|
||||||
|
NIXOS_OZONE_WL = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
sessionPath = [
|
||||||
|
"$HOME/.local/bin"
|
||||||
|
];
|
||||||
|
|
||||||
|
stateVersion = "23.11";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Add packages
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) nonFreePackages;
|
||||||
|
|
||||||
|
home.packages =
|
||||||
|
map (name: pkgs.${name}) nonFreePackages
|
||||||
|
++ packages;
|
||||||
|
|
||||||
|
xdg.mimeApps = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Directories
|
||||||
|
xdg.userDirs = {
|
||||||
|
createDirectories = false;
|
||||||
|
download = "$HOME/downloads";
|
||||||
|
music = "$HOME/music";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Openers
|
||||||
|
xdg.mimeApps.defaultApplications = {
|
||||||
|
"inode/directory" = [
|
||||||
|
# "lf.desktop"
|
||||||
|
"kitty-open.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Standard programs
|
||||||
|
programs.bat = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
paging = "never";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# lf
|
||||||
|
programs.lf = {
|
||||||
|
enable = true;
|
||||||
|
commands = {
|
||||||
|
q = "quit"; # Why didn't they do this btw
|
||||||
|
};
|
||||||
|
keybindings = {
|
||||||
|
"<enter>" = "$$OPENER $f";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.desktopEntries.lf = {
|
||||||
|
name = "LF";
|
||||||
|
genericName = "File browser";
|
||||||
|
exec = "lf %U";
|
||||||
|
terminal = true;
|
||||||
|
mimeType = [ "inode/directory" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Take over my xsession
|
||||||
|
xsession.enable = true;
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
33
host/homeOptions.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{ lib, ... }: {
|
||||||
|
options.custom = {
|
||||||
|
wallpaper = lib.mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
};
|
||||||
|
|
||||||
|
colors =
|
||||||
|
let
|
||||||
|
colorOption = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "#000000";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
base00 = colorOption;
|
||||||
|
base01 = colorOption;
|
||||||
|
base02 = colorOption;
|
||||||
|
base03 = colorOption;
|
||||||
|
base04 = colorOption;
|
||||||
|
base05 = colorOption;
|
||||||
|
base06 = colorOption;
|
||||||
|
base07 = colorOption;
|
||||||
|
base08 = colorOption;
|
||||||
|
base09 = colorOption;
|
||||||
|
base0A = colorOption;
|
||||||
|
base0B = colorOption;
|
||||||
|
base0C = colorOption;
|
||||||
|
base0D = colorOption;
|
||||||
|
base0E = colorOption;
|
||||||
|
base0F = colorOption;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
10
host/modules.nix
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[
|
||||||
|
../modules/fish
|
||||||
|
../modules/qutebrowser
|
||||||
|
../modules/kitty
|
||||||
|
|
||||||
|
../modules/ncspot
|
||||||
|
|
||||||
|
../modules/bspwm
|
||||||
|
../modules/blueman
|
||||||
|
]
|
176
host/swhkdrc
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
#
|
||||||
|
# wm independent hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# Open kitty
|
||||||
|
alt + Return
|
||||||
|
kitty
|
||||||
|
|
||||||
|
# Open floating kitty
|
||||||
|
alt + shift + Return
|
||||||
|
bsp-float kitty
|
||||||
|
|
||||||
|
# launch program
|
||||||
|
alt + @space
|
||||||
|
rofi -show run
|
||||||
|
|
||||||
|
# launch program as root
|
||||||
|
alt + shift + @space
|
||||||
|
rofi-ask rofi -show drun -run-command "sudo -A {cmd}"
|
||||||
|
|
||||||
|
# make sxhkd reload its configuration files:
|
||||||
|
alt + Escape
|
||||||
|
pkill -USR1 -x sxhkd; notify-send 'Key daemon reloaded'
|
||||||
|
|
||||||
|
# Start a qutebrowser search
|
||||||
|
alt + o
|
||||||
|
qutesearch
|
||||||
|
|
||||||
|
# Show keybinds
|
||||||
|
alt + slash
|
||||||
|
sxhkd-help
|
||||||
|
|
||||||
|
# Show clipmenu
|
||||||
|
alt + v
|
||||||
|
rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
|
||||||
|
|
||||||
|
alt + shift + v
|
||||||
|
greenclip clear
|
||||||
|
|
||||||
|
#
|
||||||
|
# bspwm hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# quit/restart bspwm
|
||||||
|
alt + shift + {q,r}
|
||||||
|
bspc {quit,wm -r}
|
||||||
|
|
||||||
|
# close and kill
|
||||||
|
alt + {_,shift + }w
|
||||||
|
bspc node -{c,k}
|
||||||
|
|
||||||
|
alt + q
|
||||||
|
bspc node -c
|
||||||
|
|
||||||
|
# alternate between the tiled and monocle layout
|
||||||
|
alt + m
|
||||||
|
bspc desktop -l next
|
||||||
|
|
||||||
|
# send the newest marked node to the newest preselected node
|
||||||
|
alt + y
|
||||||
|
bspc node newest.marked.local -n newest.!automatic.local
|
||||||
|
|
||||||
|
# swap the current node and the biggest window
|
||||||
|
alt + g
|
||||||
|
bspc node -s biggest.window
|
||||||
|
|
||||||
|
# Reveal hidden kitty (scratchpad)
|
||||||
|
alt + super + Return
|
||||||
|
bsp-toggle-visibility KittyScratch "kitty --class KittyScratch"
|
||||||
|
|
||||||
|
# flameshot
|
||||||
|
alt + Print
|
||||||
|
flameshot gui
|
||||||
|
|
||||||
|
#
|
||||||
|
# state/flags
|
||||||
|
#
|
||||||
|
|
||||||
|
# set the window state
|
||||||
|
alt + {z,shift + z,x,f}
|
||||||
|
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||||
|
|
||||||
|
# set the node flags
|
||||||
|
alt + ctrl + {m,x,y,z}
|
||||||
|
bspc node -g {marked,locked,sticky,private}
|
||||||
|
|
||||||
|
#
|
||||||
|
# focus/swap
|
||||||
|
#
|
||||||
|
|
||||||
|
# focus the node in the given direction
|
||||||
|
alt + {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
bspc node -{f} {west,south,north,east,west,south,north,east}
|
||||||
|
|
||||||
|
# focus the node for the given path jump
|
||||||
|
alt + {p,b,comma,period}
|
||||||
|
bspc node -f @{parent,brother,first,second}
|
||||||
|
|
||||||
|
# focus the next/previous window in the current desktop
|
||||||
|
alt + {a,d}
|
||||||
|
bspc node -f {next,prev}.local.!hidden.window
|
||||||
|
|
||||||
|
# focus the next/previous desktop in the current monitor
|
||||||
|
alt + bracket{left,right}
|
||||||
|
bspc desktop -f {prev,next}.local
|
||||||
|
|
||||||
|
# focus the last node/desktop
|
||||||
|
alt + {grave,Tab}
|
||||||
|
bspc {node,desktop} -f last
|
||||||
|
|
||||||
|
# focus the older or newer node in the focus history
|
||||||
|
alt + {o,i}
|
||||||
|
bspc wm -h off; \
|
||||||
|
bspc node {older,newer} -f; \
|
||||||
|
bspc wm -h on
|
||||||
|
|
||||||
|
# focus or send to the given desktop
|
||||||
|
alt + {_,shift + }{1-9,0}
|
||||||
|
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||||
|
|
||||||
|
#
|
||||||
|
# preselect
|
||||||
|
#
|
||||||
|
|
||||||
|
# preselect the direction
|
||||||
|
alt + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
bspc node -p {west,south,north,east,west,south,north,east}
|
||||||
|
|
||||||
|
# preselect the ratio
|
||||||
|
alt + ctrl + {1-9}
|
||||||
|
bspc node -o 0.{1-9}
|
||||||
|
|
||||||
|
# cancel the preselection for the focused node
|
||||||
|
alt + ctrl + space
|
||||||
|
bspc node -p cancel
|
||||||
|
|
||||||
|
# cancel the preselection for the focused desktop
|
||||||
|
alt + ctrl + shift + space
|
||||||
|
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||||
|
|
||||||
|
#
|
||||||
|
# move/resize
|
||||||
|
#
|
||||||
|
|
||||||
|
# Resize a window by moving one of its side outward/inward
|
||||||
|
alt + s ; {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
STEP=20; SELECTION={1,2,3,4,1,2,3,4}; \
|
||||||
|
bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \
|
||||||
|
bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION)
|
||||||
|
|
||||||
|
# move a floating window
|
||||||
|
alt + {h,j,k,l}
|
||||||
|
bspc node -v {-30 0,0 20,0 -30,20 0}
|
||||||
|
|
||||||
|
# move a not-floating window
|
||||||
|
alt + shift + {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
bsp-smove {west,south,north,east,west,south,north,east}
|
||||||
|
|
||||||
|
#
|
||||||
|
# tabs
|
||||||
|
#
|
||||||
|
|
||||||
|
# move in/out of tabbed container
|
||||||
|
alt + ctrl + {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
tabc-smart-detach {west,south,north,east,west,south,north,east}
|
||||||
|
|
||||||
|
# tab/untab window
|
||||||
|
alt + t
|
||||||
|
id=$(bspc query -N -n); \
|
||||||
|
[[ "$(tabc printclass $id)" == "tabbed" ]] \
|
||||||
|
&& tabc detach $id \
|
||||||
|
|| tabc create $id
|
||||||
|
|
||||||
|
# toggle autoattach in tabbed container
|
||||||
|
alt + shift + t
|
||||||
|
tabc autoattach $(bspc query -N -n)
|
41
host/user.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{ config, lib, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
modules = import ./modules.nix;
|
||||||
|
username = config.custom.username;
|
||||||
|
in {
|
||||||
|
options.custom = {
|
||||||
|
username = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "dakedres";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config.home-manager.users."${username}" = {
|
||||||
|
imports =
|
||||||
|
(builtins.filter
|
||||||
|
(path: builtins.pathExists path)
|
||||||
|
(builtins.map
|
||||||
|
(path: path + "/home.nix")
|
||||||
|
modules
|
||||||
|
)
|
||||||
|
) ++ [
|
||||||
|
./home.nix
|
||||||
|
./homeOptions.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config.home = {
|
||||||
|
username = username;
|
||||||
|
homeDirectory = "/home/${username}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports =
|
||||||
|
(builtins.filter
|
||||||
|
(path: builtins.pathExists path)
|
||||||
|
(builtins.map
|
||||||
|
(path: path + "/default.nix")
|
||||||
|
modules
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
3
modules/blueman/default.nix
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{ ... }: {
|
||||||
|
services.blueman.enable = true;
|
||||||
|
}
|
3
modules/blueman/home.nix
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{ ... }: {
|
||||||
|
services.blueman-applet.enable = true;
|
||||||
|
}
|
3
modules/bspwm/default.nix
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{ ... }: {
|
||||||
|
services.xserver.windowManager.bspwm.enable = true;
|
||||||
|
}
|
77
modules/bspwm/home.nix
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
imports = [
|
||||||
|
../qutesearch/home.nix
|
||||||
|
../tint2/home.nix
|
||||||
|
../rofi/home.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.feh
|
||||||
|
pkgs.flameshot
|
||||||
|
];
|
||||||
|
|
||||||
|
services.network-manager-applet.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-kde
|
||||||
|
];
|
||||||
|
configPackages = [
|
||||||
|
pkgs.xdg-desktop-portal-kde
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# handled by home manager
|
||||||
|
# home.sessionVariables = {
|
||||||
|
# # Tell java it's in no-reparenting land
|
||||||
|
# "_JAVA_AWT_WM_NONREPARENTING" = 1;
|
||||||
|
# };
|
||||||
|
|
||||||
|
services.sxhkd.enable = true;
|
||||||
|
xdg.configFile."sxhkd/sxhkdrc" = {
|
||||||
|
source = ./sxhkdrc;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file.".local/bin" = {
|
||||||
|
source = ./scripts;
|
||||||
|
recursive = true;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xsession.windowManager.bspwm = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
monitors = {
|
||||||
|
"eDP-1" = [ "I" "II" "III" "IV" "V" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
border_width = 1;
|
||||||
|
window_gap = 4;
|
||||||
|
split_ratio = 0.52;
|
||||||
|
|
||||||
|
pointer_modifier = "super";
|
||||||
|
pointer_action1 = "move";
|
||||||
|
pointer_action2 = "resize_corner";
|
||||||
|
|
||||||
|
focus_follows_pointer = true;
|
||||||
|
pointer_follows_focus = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
rules = {
|
||||||
|
Gimp = {
|
||||||
|
state = "floating";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
startupPrograms = [
|
||||||
|
# "pgrep -x sxhkd > /dev/null || sxhkd &"
|
||||||
|
"wmname LG3D"
|
||||||
|
# "xsetroot -cursor_name left_ptr &"
|
||||||
|
"tint2"
|
||||||
|
"feh --bg-scale ${config.custom.wallpaper}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
3
modules/bspwm/scripts/bsp-float
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Open an app in float mode
|
||||||
|
bspc rule -a \* -o state=floating && $@
|
14
modules/bspwm/scripts/bsp-floating-only
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ ! -z $1 ]; then
|
||||||
|
# FLOATING_DESKTOP_ID=$(bspc query -D -d '^3')
|
||||||
|
FLOATING_DESKTOP_ID=$1
|
||||||
|
|
||||||
|
bspc subscribe node_add | while read -a msg ; do
|
||||||
|
desk_id=${msg[2]}
|
||||||
|
wid=${msg[4]}
|
||||||
|
[ "$FLOATING_DESKTOP_ID" = "$desk_id" ] && bspc node "$wid" -t floating
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "No desktop provided"
|
||||||
|
fi
|
60
modules/bspwm/scripts/bsp-smove
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# A more fluid way of moving windows with BSPWM, which is meant to be
|
||||||
|
# implemented in SXHKD. If there is a window in the given direction,
|
||||||
|
# swap places with it. Else if there is a receptacle move to it
|
||||||
|
# ("consume" its place). Otherwise create a receptacle in the given
|
||||||
|
# direction by splitting the entire viewport (circumvents the tiling
|
||||||
|
# scheme while respecting the current split ratio configuration). In
|
||||||
|
# the latter scenario, inputting the direction twice will thus move the
|
||||||
|
# focused window out of its current layout and into the receptacle.
|
||||||
|
#
|
||||||
|
# Part of my dotfiles: https://gitlab.com/protesilaos/dotfiles
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 Protesilaos Stavrou <info@protesilaos.com>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
|
[ "$#" -eq 1 ] || { echo "Pass only one argument: north,east,south,west"; exit 1; }
|
||||||
|
|
||||||
|
# Check if argument is a valid direction.
|
||||||
|
case "$1" in
|
||||||
|
north|east|south|west)
|
||||||
|
dir="$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Not a valid argument."
|
||||||
|
echo "Use one of: north,east,south,west"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
_query_nodes() {
|
||||||
|
bspc query -N -n "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Do not operate on floating windows!
|
||||||
|
[ -z "$(_query_nodes focused.floating)" ] || { echo "Only move tiled windows."; exit 1; }
|
||||||
|
|
||||||
|
receptacle="$(_query_nodes 'any.leaf.!window')"
|
||||||
|
|
||||||
|
# This regulates the behaviour documented in the description.
|
||||||
|
if [ -n "$(_query_nodes "${dir}.!floating")" ]; then
|
||||||
|
bspc node -s "$dir"
|
||||||
|
elif [ -n "$receptacle" ]; then
|
||||||
|
bspc node focused -n "$receptacle" --follow
|
||||||
|
else
|
||||||
|
bspc node @/ -p "$dir" -i && bspc node -n "$receptacle" --follow
|
||||||
|
fi
|
17
modules/bspwm/scripts/bsp-status
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
declare -A layout_symbols
|
||||||
|
|
||||||
|
layout_symbols[monocle]="mono"
|
||||||
|
layout_symbols[tiled]="tiled"
|
||||||
|
|
||||||
|
send_symbol() {
|
||||||
|
echo ${layout_symbols[$1]}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Optional, sends first output. This requires jq
|
||||||
|
send_symbol $(bspc query -T --desktop focused | jq -r '.layout')
|
||||||
|
|
||||||
|
bspc subscribe desktop_layout | while read -a msg ; do
|
||||||
|
send_symbol ${msg[3]}
|
||||||
|
done
|
37
modules/bspwm/scripts/bsp-toggle-visibility
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ $# = 0 ]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "${0}") process_name [executable_name] [--take-first]
|
||||||
|
process_name As recognized by 'xdo' command
|
||||||
|
executable_name As used for launching from terminal
|
||||||
|
--take-first In case 'xdo' returns multiple process IDs
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get id of process by class name and then fallback to instance name
|
||||||
|
id=$(xdo id -N "${1}" || xdo id -n "${1}")
|
||||||
|
|
||||||
|
executable=${1}
|
||||||
|
shift
|
||||||
|
|
||||||
|
while [ -n "${1}" ]; do
|
||||||
|
case ${1} in
|
||||||
|
--take-first)
|
||||||
|
id=$(head -1 <<<"${id}" | cut -f1 -d' ')
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
executable=${1}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "${id}" ]; then
|
||||||
|
${executable}
|
||||||
|
else
|
||||||
|
while read -r instance; do
|
||||||
|
bspc node "${instance}" --flag hidden --to-monitor focused --focus
|
||||||
|
done <<<"${id}"
|
||||||
|
fi
|
1830
modules/bspwm/scripts/pfetch
Executable file
9
modules/bspwm/scripts/rofi-ask
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Take password prompt from STDIN, print password to STDOUT
|
||||||
|
# the sed piece just removes the colon from the provided
|
||||||
|
# prompt: rofi -p already gives us a colon
|
||||||
|
rofi -dmenu \
|
||||||
|
-password \
|
||||||
|
-no-fixed-num-lines \
|
||||||
|
-p "$(printf "$1" | sed s/://)"
|
5
modules/bspwm/scripts/sxhkd-help
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
awk '/^[a-z]/ && last {print "<small>",$0,"\t",last,"</small>"} {last=""} /^#/{last=$0}' ~/.config/sxhkd/sxhkdrc{,.common} |
|
||||||
|
column -t -s $'\t' |
|
||||||
|
rofi -dmenu -i -markup-rows -no-show-icons -width 1000 -lines 15
|
9
modules/bspwm/scripts/tabc-smart-detach
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
id=$(bspc query -N -n);
|
||||||
|
if [ "$(tabc printclass $id)" == "tabbed" ]; then
|
||||||
|
bspc node -p $1;
|
||||||
|
tabc detach $id;
|
||||||
|
else \
|
||||||
|
tabc attach $id $(bspc query -N -n $1);
|
||||||
|
fi
|
176
modules/bspwm/sxhkdrc
Executable file
@ -0,0 +1,176 @@
|
|||||||
|
#
|
||||||
|
# wm independent hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# Open kitty
|
||||||
|
super + Return
|
||||||
|
kitty
|
||||||
|
|
||||||
|
# Open floating kitty
|
||||||
|
super + shift + Return
|
||||||
|
bsp-float kitty
|
||||||
|
|
||||||
|
# launch program (drun)
|
||||||
|
super + @space
|
||||||
|
rofi -show drun
|
||||||
|
|
||||||
|
# launch program (standard run)
|
||||||
|
super + shift + @space
|
||||||
|
rofi -show run
|
||||||
|
|
||||||
|
# make sxhkd reload its configuration files:
|
||||||
|
super + Escape
|
||||||
|
pkill -USR1 -x sxhkd; notify-send 'Key daemon reloaded'
|
||||||
|
|
||||||
|
# Start a qutebrowser search
|
||||||
|
super + o
|
||||||
|
qutesearch
|
||||||
|
|
||||||
|
# Show keybinds
|
||||||
|
super + slash
|
||||||
|
sxhkd-help
|
||||||
|
|
||||||
|
# Show clipmenu
|
||||||
|
super + v
|
||||||
|
rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
|
||||||
|
|
||||||
|
super + shift + v
|
||||||
|
greenclip clear
|
||||||
|
|
||||||
|
#
|
||||||
|
# bspwm hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# quit/restart bspwm
|
||||||
|
super + shift + {q,r}
|
||||||
|
bspc {quit,wm -r}
|
||||||
|
|
||||||
|
# close and kill
|
||||||
|
super + {_,shift + }w
|
||||||
|
bspc node -{c,k}
|
||||||
|
|
||||||
|
super + q
|
||||||
|
bspc node -c
|
||||||
|
|
||||||
|
# superernate between the tiled and monocle layout
|
||||||
|
super + m
|
||||||
|
bspc desktop -l next
|
||||||
|
|
||||||
|
# send the newest marked node to the newest preselected node
|
||||||
|
super + y
|
||||||
|
bspc node newest.marked.local -n newest.!automatic.local
|
||||||
|
|
||||||
|
# swap the current node and the biggest window
|
||||||
|
super + g
|
||||||
|
bspc node -s biggest.window
|
||||||
|
|
||||||
|
# Reveal hidden kitty (scratchpad)
|
||||||
|
super + alt + Return
|
||||||
|
bsp-toggle-visibility KittyScratch "kitty --class KittyScratch"
|
||||||
|
|
||||||
|
# flameshot
|
||||||
|
super + Print
|
||||||
|
flameshot gui
|
||||||
|
|
||||||
|
#
|
||||||
|
# state/flags
|
||||||
|
#
|
||||||
|
|
||||||
|
# set the window state
|
||||||
|
super + {z,shift + z,x,f}
|
||||||
|
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||||
|
|
||||||
|
# set the node flags
|
||||||
|
super + ctrl + {m,x,y,z}
|
||||||
|
bspc node -g {marked,locked,sticky,private}
|
||||||
|
|
||||||
|
#
|
||||||
|
# focus/swap
|
||||||
|
#
|
||||||
|
|
||||||
|
# focus the node in the given direction
|
||||||
|
super + {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
bspc node -{f} {west,south,north,east,west,south,north,east}
|
||||||
|
|
||||||
|
# focus the node for the given path jump
|
||||||
|
super + {p,b,comma,period}
|
||||||
|
bspc node -f @{parent,brother,first,second}
|
||||||
|
|
||||||
|
# focus the next/previous window in the current desktop
|
||||||
|
super + {a,d}
|
||||||
|
bspc node -f {next,prev}.local.!hidden.window
|
||||||
|
|
||||||
|
# focus the next/previous desktop in the current monitor
|
||||||
|
super + bracket{left,right}
|
||||||
|
bspc desktop -f {prev,next}.local
|
||||||
|
|
||||||
|
# focus the last node/desktop
|
||||||
|
super + {grave,Tab}
|
||||||
|
bspc {node,desktop} -f last
|
||||||
|
|
||||||
|
# focus the older or newer node in the focus history
|
||||||
|
# super + {o,i}
|
||||||
|
# bspc wm -h off; \
|
||||||
|
# bspc node {older,newer} -f; \
|
||||||
|
# bspc wm -h on
|
||||||
|
|
||||||
|
# focus or send to the given desktop
|
||||||
|
super + {_,shift + }{1-9,0}
|
||||||
|
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||||
|
|
||||||
|
#
|
||||||
|
# preselect
|
||||||
|
#
|
||||||
|
|
||||||
|
# preselect the direction
|
||||||
|
super + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
bspc node -p {west,south,north,east,west,south,north,east}
|
||||||
|
|
||||||
|
# preselect the ratio
|
||||||
|
super + ctrl + {1-9}
|
||||||
|
bspc node -o 0.{1-9}
|
||||||
|
|
||||||
|
# cancel the preselection for the focused node
|
||||||
|
super + ctrl + space
|
||||||
|
bspc node -p cancel
|
||||||
|
|
||||||
|
# cancel the preselection for the focused desktop
|
||||||
|
super + ctrl + shift + space
|
||||||
|
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||||
|
|
||||||
|
#
|
||||||
|
# move/resize
|
||||||
|
#
|
||||||
|
|
||||||
|
# Resize a window by moving one of its side outward/inward
|
||||||
|
super + s ; {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
STEP=20; SELECTION={1,2,3,4,1,2,3,4}; \
|
||||||
|
bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \
|
||||||
|
bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION)
|
||||||
|
|
||||||
|
# move a floating window
|
||||||
|
super + {h,j,k,l}
|
||||||
|
bspc node -v {-30 0,0 20,0 -30,20 0}
|
||||||
|
|
||||||
|
# move a window
|
||||||
|
super + shift + {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
bsp-smove {west,south,north,east,west,south,north,east}
|
||||||
|
|
||||||
|
#
|
||||||
|
# tabs
|
||||||
|
#
|
||||||
|
|
||||||
|
# move in/out of tabbed container
|
||||||
|
super + ctrl + {h,j,k,l,Left,Down,Up,Right}
|
||||||
|
tabc-smart-detach {west,south,north,east,west,south,north,east}
|
||||||
|
|
||||||
|
# tab/untab window
|
||||||
|
super + t
|
||||||
|
id=$(bspc query -N -n); \
|
||||||
|
[[ "$(tabc printclass $id)" == "tabbed" ]] \
|
||||||
|
&& tabc detach $id \
|
||||||
|
|| tabc create $id
|
||||||
|
|
||||||
|
# toggle autoattach in tabbed container
|
||||||
|
super + shift + t
|
||||||
|
tabc autoattach $(bspc query -N -n)
|
10
modules/discord/home.nix
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{ pkgs, lib, ... }: {
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [
|
||||||
|
"discord"
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.discord
|
||||||
|
];
|
||||||
|
}
|
4
modules/fish/default.nix
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{ ... }: {
|
||||||
|
# Although we are configuring fish in home manager, this is needed for vendor completions within fish.
|
||||||
|
programs.fish.enable = true;
|
||||||
|
}
|
16
modules/fish/home.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.grc
|
||||||
|
pkgs.fishPlugins.grc
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
interactiveShellInit = ''
|
||||||
|
set fish_greeting # Disable greeting
|
||||||
|
'';
|
||||||
|
shellAliases = {
|
||||||
|
l = "ls -lh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
13
modules/homeModule.nix
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
homeManager = lib.mkOption {
|
||||||
|
type = lib.types.set;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
home-manager.users.dakedres = config.homeManager;
|
||||||
|
};
|
||||||
|
}
|
8
modules/hyprland/default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
# Add to xsessions
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||||
|
};
|
||||||
|
}
|
135
modules/hyprland/home.nix
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
imports = [
|
||||||
|
../qutesearch/home.nix
|
||||||
|
../waybar/home.nix
|
||||||
|
../rofi/home.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.swaybg
|
||||||
|
];
|
||||||
|
|
||||||
|
# When swhkd is available, wlogout could be started via a script
|
||||||
|
# that disables keybind watching, starts wlogout, and enables keybind
|
||||||
|
# watching again once it's closed
|
||||||
|
programs.wlogout = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
configPackages = [
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
exec-once = [
|
||||||
|
"swaybg -i $WALLPAPER"
|
||||||
|
"waybar"
|
||||||
|
];
|
||||||
|
|
||||||
|
monitor = [
|
||||||
|
"eDP-1,1920x1080@59.96,0x0,auto"
|
||||||
|
# "X11-1,600x800@59.96,0x0,auto"
|
||||||
|
];
|
||||||
|
|
||||||
|
input = {
|
||||||
|
# kb_options = "caps:swapescape,altwin:swap_alt_win";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
general = {
|
||||||
|
gaps_in = 3;
|
||||||
|
gaps_out = 6;
|
||||||
|
};
|
||||||
|
|
||||||
|
group = {
|
||||||
|
groupbar = {
|
||||||
|
gradients = false;
|
||||||
|
text_color = "0xff111111";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
background_color = "0x000000";
|
||||||
|
};
|
||||||
|
|
||||||
|
animation = [
|
||||||
|
"workspaces,1,3,default,slidevert"
|
||||||
|
"windows,1,2,default,slide"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"name:I"
|
||||||
|
"name:II"
|
||||||
|
"name:III"
|
||||||
|
"name:IV"
|
||||||
|
"name:V"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrule = [
|
||||||
|
"fullscreen,noanim,noborder,title:(Albert)"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"$mod" = "SUPER";
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mod, Return, exec, $TERMINAL"
|
||||||
|
"$mod, o, exec, qutesearch"
|
||||||
|
"$mod, Space, exec, rofi -show drun"
|
||||||
|
"SUPERSHIFT, Space, exec, rofi -show run"
|
||||||
|
"$mod, Escape, exec, wlogout"
|
||||||
|
|
||||||
|
"$mod, w, killactive" # This closes the window and the name is dumb
|
||||||
|
"$mod, f, togglefloating"
|
||||||
|
"$mod, t, togglegroup"
|
||||||
|
|
||||||
|
"$mod, h, movefocus, l"
|
||||||
|
"$mod, j, movefocus, d"
|
||||||
|
"$mod, k, movefocus, u"
|
||||||
|
"$mod, l, movefocus, r"
|
||||||
|
"$mod, left, movefocus, l"
|
||||||
|
"$mod, down, movefocus, d"
|
||||||
|
"$mod, up, movefocus, u"
|
||||||
|
"$mod, right, movefocus, r"
|
||||||
|
|
||||||
|
"$mod, a, changegroupactive, f"
|
||||||
|
"$mod, d, changegroupactive, f"
|
||||||
|
|
||||||
|
"$mod, Tab, cyclenext"
|
||||||
|
|
||||||
|
"SUPERSHIFT, h, movewindoworgroup, l"
|
||||||
|
"SUPERSHIFT, j, movewindoworgroup, d"
|
||||||
|
"SUPERSHIFT, k, movewindoworgroup, u"
|
||||||
|
"SUPERSHIFT, l, movewindoworgroup, r"
|
||||||
|
"SUPERSHIFT, left, movewindoworgroup, l"
|
||||||
|
"SUPERSHIFT, down, movewindoworgroup, d"
|
||||||
|
"SUPERSHIFT, up, movewindoworgroup, u"
|
||||||
|
"SUPERSHIFT, right, movewindoworgroup, r"
|
||||||
|
|
||||||
|
"$mod, 1, workspace, 1"
|
||||||
|
"$mod, 2, workspace, 2"
|
||||||
|
"$mod, 3, workspace, 3"
|
||||||
|
"$mod, 4, workspace, 4"
|
||||||
|
"$mod, 5, workspace, 5"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindm = [
|
||||||
|
"$mod, mouse:272, movewindow"
|
||||||
|
"$mod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
58
modules/kitty/colors.nix
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.custom.colors.kitty = {
|
||||||
|
enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.custom.colors.kitty.enable {
|
||||||
|
programs.kitty.settings = with config.custom.colors; {
|
||||||
|
# Based on https://github.com/mk12/base16-kitty
|
||||||
|
|
||||||
|
background = base00;
|
||||||
|
foreground = base05;
|
||||||
|
selection_background = base05;
|
||||||
|
selection_foreground = base00;
|
||||||
|
url_color = base0D;
|
||||||
|
cursor = base0D;
|
||||||
|
cursor_text_color = base00;
|
||||||
|
active_border_color = base03;
|
||||||
|
inactive_border_color = base01;
|
||||||
|
active_tab_background = base00;
|
||||||
|
active_tab_foreground = base05;
|
||||||
|
inactive_tab_background = base01;
|
||||||
|
inactive_tab_foreground = base04;
|
||||||
|
|
||||||
|
# Normal
|
||||||
|
color0 = base00;
|
||||||
|
color1 = base08;
|
||||||
|
color2 = base0B;
|
||||||
|
color3 = base0A;
|
||||||
|
color4 = base0D;
|
||||||
|
color5 = base0E;
|
||||||
|
color6 = base0C;
|
||||||
|
color7 = base05;
|
||||||
|
|
||||||
|
# Bright (same as Normal except 8/15)
|
||||||
|
color8 = base03;
|
||||||
|
color9 = base08;
|
||||||
|
color10 = base0B;
|
||||||
|
color11 = base0A;
|
||||||
|
color12 = base0D;
|
||||||
|
color13 = base0E;
|
||||||
|
color14 = base0C;
|
||||||
|
color15 = base07;
|
||||||
|
|
||||||
|
# Other (like base16-shell)
|
||||||
|
color16 = base09;
|
||||||
|
color17 = base0F;
|
||||||
|
color18 = base01;
|
||||||
|
color19 = base02;
|
||||||
|
color20 = base04;
|
||||||
|
color21 = base06;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
16
modules/kitty/home.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{ ... }: {
|
||||||
|
imports = [ ./colors.nix ];
|
||||||
|
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
shellIntegration.enableFishIntegration = true;
|
||||||
|
settings = {
|
||||||
|
editor = "micro";
|
||||||
|
|
||||||
|
confirm_os_window_close = 0;
|
||||||
|
enable_audio_bell = false;
|
||||||
|
visual_bell_duration = "0.6";
|
||||||
|
visual_bell_color = "#111111";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
51
modules/ncspot/colors.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.custom.colors.ncspot = {
|
||||||
|
enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.custom.colors.ncspot.enable {
|
||||||
|
programs.ncspot.settings.theme = with config.custom.colors; {
|
||||||
|
# Attempts to look kinda green like the official client
|
||||||
|
|
||||||
|
background = base00;
|
||||||
|
primary = base04;
|
||||||
|
secondary = base01;
|
||||||
|
title = base0B; # green
|
||||||
|
playing = base0B; # green
|
||||||
|
playing_selected = base0C; # cyan
|
||||||
|
playing_bg = base06;
|
||||||
|
highlight = base04;
|
||||||
|
highlight_bg = base02;
|
||||||
|
error = base04;
|
||||||
|
error_bg = base08;
|
||||||
|
statusbar = base00;
|
||||||
|
statusbar_progress = base0B;
|
||||||
|
statusbar_bg = base0B;
|
||||||
|
cmdline = base04;
|
||||||
|
search_match = base0A;
|
||||||
|
|
||||||
|
# background = "black"
|
||||||
|
# primary = "light white"
|
||||||
|
# secondary = "light black"
|
||||||
|
# title = "green"
|
||||||
|
# playing = "green"
|
||||||
|
# playing_selected = "light green"
|
||||||
|
# playing_bg = "black"
|
||||||
|
# highlight = "light white"
|
||||||
|
# highlight_bg = "#484848"
|
||||||
|
# error = "light white"
|
||||||
|
# error_bg = "red"
|
||||||
|
# statusbar = "black"
|
||||||
|
# statusbar_progress = "green"
|
||||||
|
# statusbar_bg = "green"
|
||||||
|
# cmdline = "light white"
|
||||||
|
# cmdline_bg = "black"
|
||||||
|
# search_match = "light red"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
14
modules/ncspot/home.nix
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
imports = [ ./colors.nix ];
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.ueberzugpp
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.ncspot = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
cover_max_scale = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
291
modules/qutebrowser/colors.nix
Normal file
@ -0,0 +1,291 @@
|
|||||||
|
# Adaptation of the base16 qutebrowser theme by theova
|
||||||
|
# (https://github.com/theova/base16-qutebrowser)
|
||||||
|
|
||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.custom.colors.qutebrowser = {
|
||||||
|
enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.custom.colors.qutebrowser.enable {
|
||||||
|
programs.qutebrowser.settings = with config.custom.colors; {
|
||||||
|
# Text color of the completion widget. May be a single color to use for
|
||||||
|
# all columns or a list of three colors, one for each column.
|
||||||
|
colors.completion.fg = base05;
|
||||||
|
|
||||||
|
# Background color of the completion widget for odd rows.
|
||||||
|
colors.completion.odd.bg = base01;
|
||||||
|
|
||||||
|
# Background color of the completion widget for even rows.
|
||||||
|
colors.completion.even.bg = base00;
|
||||||
|
|
||||||
|
# Foreground color of completion widget category headers.
|
||||||
|
colors.completion.category.fg = base0A;
|
||||||
|
|
||||||
|
# Background color of the completion widget category headers.
|
||||||
|
colors.completion.category.bg = base00;
|
||||||
|
|
||||||
|
# Top border color of the completion widget category headers.
|
||||||
|
colors.completion.category.border.top = base00;
|
||||||
|
|
||||||
|
# Bottom border color of the completion widget category headers.
|
||||||
|
colors.completion.category.border.bottom = base00;
|
||||||
|
|
||||||
|
# Foreground color of the selected completion item.
|
||||||
|
colors.completion.item.selected.fg = base05;
|
||||||
|
|
||||||
|
# Background color of the selected completion item.
|
||||||
|
colors.completion.item.selected.bg = base02;
|
||||||
|
|
||||||
|
# Top border color of the selected completion item.
|
||||||
|
colors.completion.item.selected.border.top = base02;
|
||||||
|
|
||||||
|
# Bottom border color of the selected completion item.
|
||||||
|
colors.completion.item.selected.border.bottom = base02;
|
||||||
|
|
||||||
|
# Foreground color of the matched text in the selected completion item.
|
||||||
|
colors.completion.item.selected.match.fg = base0B;
|
||||||
|
|
||||||
|
# Foreground color of the matched text in the completion.
|
||||||
|
colors.completion.match.fg = base0B;
|
||||||
|
|
||||||
|
# Color of the scrollbar handle in the completion view.
|
||||||
|
colors.completion.scrollbar.fg = base05;
|
||||||
|
|
||||||
|
# Color of the scrollbar in the completion view.
|
||||||
|
colors.completion.scrollbar.bg = base00;
|
||||||
|
|
||||||
|
# Background color of disabled items in the context menu.
|
||||||
|
colors.contextmenu.disabled.bg = base01;
|
||||||
|
|
||||||
|
# Foreground color of disabled items in the context menu.
|
||||||
|
colors.contextmenu.disabled.fg = base04;
|
||||||
|
|
||||||
|
# Background color of the context menu. If set to null, the Qt default is used.
|
||||||
|
colors.contextmenu.menu.bg = base00;
|
||||||
|
|
||||||
|
# Foreground color of the context menu. If set to null, the Qt default is used.
|
||||||
|
colors.contextmenu.menu.fg = base05;
|
||||||
|
|
||||||
|
# Background color of the context menu’s selected item. If set to null, the Qt default is used.
|
||||||
|
colors.contextmenu.selected.bg = base02;
|
||||||
|
|
||||||
|
#Foreground color of the context menu’s selected item. If set to null, the Qt default is used.
|
||||||
|
colors.contextmenu.selected.fg = base05;
|
||||||
|
|
||||||
|
# Background color for the download bar.
|
||||||
|
colors.downloads.bar.bg = base00;
|
||||||
|
|
||||||
|
# Color gradient start for download text.
|
||||||
|
colors.downloads.start.fg = base00;
|
||||||
|
|
||||||
|
# Color gradient start for download backgrounds.
|
||||||
|
colors.downloads.start.bg = base0D;
|
||||||
|
|
||||||
|
# Color gradient end for download text.
|
||||||
|
colors.downloads.stop.fg = base00;
|
||||||
|
|
||||||
|
# Color gradient stop for download backgrounds.
|
||||||
|
colors.downloads.stop.bg = base0C;
|
||||||
|
|
||||||
|
# Foreground color for downloads with errors.
|
||||||
|
colors.downloads.error.fg = base08;
|
||||||
|
|
||||||
|
# Font color for hints.
|
||||||
|
colors.hints.fg = base00;
|
||||||
|
|
||||||
|
# Background color for hints. Note that you can use a `rgba(...)` value
|
||||||
|
# for transparency.
|
||||||
|
colors.hints.bg = base0A;
|
||||||
|
|
||||||
|
# Font color for the matched part of hints.
|
||||||
|
colors.hints.match.fg = base05;
|
||||||
|
|
||||||
|
# Text color for the keyhint widget.
|
||||||
|
colors.keyhint.fg = base05;
|
||||||
|
|
||||||
|
# Highlight color for keys to complete the current keychain.
|
||||||
|
colors.keyhint.suffix.fg = base05;
|
||||||
|
|
||||||
|
# Background color of the keyhint widget.
|
||||||
|
colors.keyhint.bg = base00;
|
||||||
|
|
||||||
|
# Foreground color of an error message.
|
||||||
|
colors.messages.error.fg = base00;
|
||||||
|
|
||||||
|
# Background color of an error message.
|
||||||
|
colors.messages.error.bg = base08;
|
||||||
|
|
||||||
|
# Border color of an error message.
|
||||||
|
colors.messages.error.border = base08;
|
||||||
|
|
||||||
|
# Foreground color of a warning message.
|
||||||
|
colors.messages.warning.fg = base00;
|
||||||
|
|
||||||
|
# Background color of a warning message.
|
||||||
|
colors.messages.warning.bg = base0E;
|
||||||
|
|
||||||
|
# Border color of a warning message.
|
||||||
|
colors.messages.warning.border = base0E;
|
||||||
|
|
||||||
|
# Foreground color of an info message.
|
||||||
|
colors.messages.info.fg = base05;
|
||||||
|
|
||||||
|
# Background color of an info message.
|
||||||
|
colors.messages.info.bg = base00;
|
||||||
|
|
||||||
|
# Border color of an info message.
|
||||||
|
colors.messages.info.border = base00;
|
||||||
|
|
||||||
|
# Foreground color for prompts.
|
||||||
|
colors.prompts.fg = base05;
|
||||||
|
|
||||||
|
# Border used around UI elements in prompts.
|
||||||
|
colors.prompts.border = base00;
|
||||||
|
|
||||||
|
# Background color for prompts.
|
||||||
|
colors.prompts.bg = base00;
|
||||||
|
|
||||||
|
# Background color for the selected item in filename prompts.
|
||||||
|
colors.prompts.selected.bg = base02;
|
||||||
|
|
||||||
|
# Foreground color for the selected item in filename prompts.
|
||||||
|
colors.prompts.selected.fg = base05;
|
||||||
|
|
||||||
|
# Foreground color of the statusbar.
|
||||||
|
colors.statusbar.normal.fg = base0B;
|
||||||
|
|
||||||
|
# Background color of the statusbar.
|
||||||
|
colors.statusbar.normal.bg = base00;
|
||||||
|
|
||||||
|
# Foreground color of the statusbar in insert mode.
|
||||||
|
colors.statusbar.insert.fg = base00;
|
||||||
|
|
||||||
|
# Background color of the statusbar in insert mode.
|
||||||
|
colors.statusbar.insert.bg = base0D;
|
||||||
|
|
||||||
|
# Foreground color of the statusbar in passthrough mode.
|
||||||
|
colors.statusbar.passthrough.fg = base00;
|
||||||
|
|
||||||
|
# Background color of the statusbar in passthrough mode.
|
||||||
|
colors.statusbar.passthrough.bg = base0C;
|
||||||
|
|
||||||
|
# Foreground color of the statusbar in private browsing mode.
|
||||||
|
colors.statusbar.private.fg = base00;
|
||||||
|
|
||||||
|
# Background color of the statusbar in private browsing mode.
|
||||||
|
colors.statusbar.private.bg = base01;
|
||||||
|
|
||||||
|
# Foreground color of the statusbar in command mode.
|
||||||
|
colors.statusbar.command.fg = base05;
|
||||||
|
|
||||||
|
# Background color of the statusbar in command mode.
|
||||||
|
colors.statusbar.command.bg = base00;
|
||||||
|
|
||||||
|
# Foreground color of the statusbar in private browsing + command mode.
|
||||||
|
colors.statusbar.command.private.fg = base05;
|
||||||
|
|
||||||
|
# Background color of the statusbar in private browsing + command mode.
|
||||||
|
colors.statusbar.command.private.bg = base00;
|
||||||
|
|
||||||
|
# Foreground color of the statusbar in caret mode.
|
||||||
|
colors.statusbar.caret.fg = base00;
|
||||||
|
|
||||||
|
# Background color of the statusbar in caret mode.
|
||||||
|
colors.statusbar.caret.bg = base0E;
|
||||||
|
|
||||||
|
# Foreground color of the statusbar in caret mode with a selection.
|
||||||
|
colors.statusbar.caret.selection.fg = base00;
|
||||||
|
|
||||||
|
# Background color of the statusbar in caret mode with a selection.
|
||||||
|
colors.statusbar.caret.selection.bg = base0D;
|
||||||
|
|
||||||
|
# Background color of the progress bar.
|
||||||
|
colors.statusbar.progress.bg = base0D;
|
||||||
|
|
||||||
|
# Default foreground color of the URL in the statusbar.
|
||||||
|
colors.statusbar.url.fg = base05;
|
||||||
|
|
||||||
|
# Foreground color of the URL in the statusbar on error.
|
||||||
|
colors.statusbar.url.error.fg = base08;
|
||||||
|
|
||||||
|
# Foreground color of the URL in the statusbar for hovered links.
|
||||||
|
colors.statusbar.url.hover.fg = base05;
|
||||||
|
|
||||||
|
# Foreground color of the URL in the statusbar on successful load
|
||||||
|
# (http).
|
||||||
|
colors.statusbar.url.success.http.fg = base0C;
|
||||||
|
|
||||||
|
# Foreground color of the URL in the statusbar on successful load
|
||||||
|
# (https).
|
||||||
|
colors.statusbar.url.success.https.fg = base0B;
|
||||||
|
|
||||||
|
# Foreground color of the URL in the statusbar when there's a warning.
|
||||||
|
colors.statusbar.url.warn.fg = base0E;
|
||||||
|
|
||||||
|
# Background color of the tab bar.
|
||||||
|
colors.tabs.bar.bg = base00;
|
||||||
|
|
||||||
|
# Color gradient start for the tab indicator.
|
||||||
|
colors.tabs.indicator.start = base0D;
|
||||||
|
|
||||||
|
# Color gradient end for the tab indicator.
|
||||||
|
colors.tabs.indicator.stop = base0C;
|
||||||
|
|
||||||
|
# Color for the tab indicator on errors.
|
||||||
|
colors.tabs.indicator.error = base08;
|
||||||
|
|
||||||
|
# Foreground color of unselected odd tabs.
|
||||||
|
colors.tabs.odd.fg = base05;
|
||||||
|
|
||||||
|
# Background color of unselected odd tabs.
|
||||||
|
colors.tabs.odd.bg = base01;
|
||||||
|
|
||||||
|
# Foreground color of unselected even tabs.
|
||||||
|
colors.tabs.even.fg = base05;
|
||||||
|
|
||||||
|
# Background color of unselected even tabs.
|
||||||
|
colors.tabs.even.bg = base00;
|
||||||
|
|
||||||
|
# Background color of pinned unselected even tabs.
|
||||||
|
colors.tabs.pinned.even.bg = base0C;
|
||||||
|
|
||||||
|
# Foreground color of pinned unselected even tabs.
|
||||||
|
colors.tabs.pinned.even.fg = base07;
|
||||||
|
|
||||||
|
# Background color of pinned unselected odd tabs.
|
||||||
|
colors.tabs.pinned.odd.bg = base0B;
|
||||||
|
|
||||||
|
# Foreground color of pinned unselected odd tabs.
|
||||||
|
colors.tabs.pinned.odd.fg = base07;
|
||||||
|
|
||||||
|
# Background color of pinned selected even tabs.
|
||||||
|
colors.tabs.pinned.selected.even.bg = base02;
|
||||||
|
|
||||||
|
# Foreground color of pinned selected even tabs.
|
||||||
|
colors.tabs.pinned.selected.even.fg = base05;
|
||||||
|
|
||||||
|
# Background color of pinned selected odd tabs.
|
||||||
|
colors.tabs.pinned.selected.odd.bg = base02;
|
||||||
|
|
||||||
|
# Foreground color of pinned selected odd tabs.
|
||||||
|
colors.tabs.pinned.selected.odd.fg = base05;
|
||||||
|
|
||||||
|
# Foreground color of selected odd tabs.
|
||||||
|
colors.tabs.selected.odd.fg = base05;
|
||||||
|
|
||||||
|
# Background color of selected odd tabs.
|
||||||
|
colors.tabs.selected.odd.bg = base02;
|
||||||
|
|
||||||
|
# Foreground color of selected even tabs.
|
||||||
|
colors.tabs.selected.even.fg = base05;
|
||||||
|
|
||||||
|
# Background color of selected even tabs.
|
||||||
|
colors.tabs.selected.even.bg = base02;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
23
modules/qutebrowser/home.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ ... }: {
|
||||||
|
imports = [ ./colors.nix ];
|
||||||
|
|
||||||
|
programs.qutebrowser = {
|
||||||
|
enable = true;
|
||||||
|
loadAutoconfig = true;
|
||||||
|
keyBindings = {
|
||||||
|
normal = {
|
||||||
|
"gp" = "mode-enter passthrough";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
tabs = {
|
||||||
|
tabs_are_windows = true;
|
||||||
|
show = "never";
|
||||||
|
};
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
webpage.darkmode.enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
8
modules/qutesearch/home.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
home.file.".local/bin/qutesearch".source = ./qutesearch;
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.sqlite
|
||||||
|
pkgs.qutebrowser
|
||||||
|
];
|
||||||
|
}
|
6
modules/qutesearch/qutesearch
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
db=$HOME/.local/share/qutebrowser/history.sqlite
|
||||||
|
url=$(sqlite3 "$db" "select title,url from History" | tac | awk '!a[$0]++' | rofi -dmenu | awk -F '|' '{print $NF}')
|
||||||
|
[ -z "$url" ] && exit
|
||||||
|
qutebrowser --target window "$url"
|
7
modules/rofi/home.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ ... }: {
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
location = "top";
|
||||||
|
};
|
||||||
|
}
|
7
modules/tint2/home.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ ... }: {
|
||||||
|
programs.tint2.enable = true;
|
||||||
|
xdg.configFile."tint2/tint2rc" = {
|
||||||
|
source = ./tint2rc;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
}
|
269
modules/tint2/tint2rc
Executable file
@ -0,0 +1,269 @@
|
|||||||
|
#---- Generated by tint2conf b81d ----
|
||||||
|
# See https://gitlab.com/o9000/tint2/wikis/Configure for
|
||||||
|
# full documentation of the configuration options.
|
||||||
|
#-------------------------------------
|
||||||
|
# Gradients
|
||||||
|
# Gradient 1
|
||||||
|
gradient = horizontal
|
||||||
|
start_color = #000000 60
|
||||||
|
end_color = #000000 0
|
||||||
|
color_stop = 60.000000 #000000 49
|
||||||
|
color_stop = 0.000000 #000000 90
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Backgrounds
|
||||||
|
# Background 1: Panel
|
||||||
|
rounded = 0
|
||||||
|
border_width = 0
|
||||||
|
border_sides = TBLR
|
||||||
|
border_content_tint_weight = 0
|
||||||
|
background_content_tint_weight = 0
|
||||||
|
background_color = #000000 0
|
||||||
|
border_color = #000000 0
|
||||||
|
gradient_id = 1
|
||||||
|
background_color_hover = #000000 0
|
||||||
|
border_color_hover = #000000 0
|
||||||
|
background_color_pressed = #000000 0
|
||||||
|
border_color_pressed = #000000 30
|
||||||
|
|
||||||
|
# Background 2: Active desktop name
|
||||||
|
rounded = 4
|
||||||
|
border_width = 1
|
||||||
|
border_sides = TBLR
|
||||||
|
border_content_tint_weight = 0
|
||||||
|
background_content_tint_weight = 0
|
||||||
|
background_color = #777777 20
|
||||||
|
border_color = #777777 30
|
||||||
|
background_color_hover = #aaaaaa 22
|
||||||
|
border_color_hover = #eaeaea 44
|
||||||
|
background_color_pressed = #555555 4
|
||||||
|
border_color_pressed = #eaeaea 44
|
||||||
|
|
||||||
|
# Background 3: Active task
|
||||||
|
rounded = 4
|
||||||
|
border_width = 1
|
||||||
|
border_sides = TBLR
|
||||||
|
border_content_tint_weight = 0
|
||||||
|
background_content_tint_weight = 0
|
||||||
|
background_color = #777777 20
|
||||||
|
border_color = #ffffff 40
|
||||||
|
background_color_hover = #aaaaaa 22
|
||||||
|
border_color_hover = #eaeaea 44
|
||||||
|
background_color_pressed = #555555 4
|
||||||
|
border_color_pressed = #eaeaea 44
|
||||||
|
|
||||||
|
# Background 4: Urgent task
|
||||||
|
rounded = 4
|
||||||
|
border_width = 1
|
||||||
|
border_sides = TBLR
|
||||||
|
border_content_tint_weight = 0
|
||||||
|
background_content_tint_weight = 0
|
||||||
|
background_color = #aa4400 100
|
||||||
|
border_color = #aa7733 100
|
||||||
|
background_color_hover = #cc7700 100
|
||||||
|
border_color_hover = #aa7733 100
|
||||||
|
background_color_pressed = #555555 4
|
||||||
|
border_color_pressed = #aa7733 100
|
||||||
|
|
||||||
|
# Background 5: Tooltip
|
||||||
|
rounded = 1
|
||||||
|
border_width = 1
|
||||||
|
border_sides = TBLR
|
||||||
|
border_content_tint_weight = 0
|
||||||
|
background_content_tint_weight = 0
|
||||||
|
background_color = #000000 30
|
||||||
|
border_color = #000000 0
|
||||||
|
background_color_hover = #ffffaa 100
|
||||||
|
border_color_hover = #000000 100
|
||||||
|
background_color_pressed = #ffffaa 100
|
||||||
|
border_color_pressed = #000000 100
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Panel
|
||||||
|
panel_items = PT:S:C:
|
||||||
|
panel_size = 100% 40
|
||||||
|
panel_margin = 0 0
|
||||||
|
panel_padding = 2 0 2
|
||||||
|
panel_background_id = 1
|
||||||
|
wm_menu = 1
|
||||||
|
panel_dock = 0
|
||||||
|
panel_pivot_struts = 0
|
||||||
|
panel_position = bottom left vertical
|
||||||
|
panel_layer = top
|
||||||
|
panel_monitor = all
|
||||||
|
panel_shrink = 0
|
||||||
|
autohide = 0
|
||||||
|
autohide_show_timeout = 0
|
||||||
|
autohide_hide_timeout = 0.5
|
||||||
|
autohide_height = 2
|
||||||
|
strut_policy = follow_size
|
||||||
|
panel_window_name = tint2
|
||||||
|
disable_transparency = 0
|
||||||
|
mouse_effects = 1
|
||||||
|
font_shadow = 0
|
||||||
|
mouse_hover_icon_asb = 100 0 10
|
||||||
|
mouse_pressed_icon_asb = 100 0 0
|
||||||
|
scale_relative_to_dpi = 0
|
||||||
|
scale_relative_to_screen_height = 0
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Taskbar
|
||||||
|
taskbar_mode = multi_desktop
|
||||||
|
taskbar_hide_if_empty = 0
|
||||||
|
taskbar_padding = 0 0 4
|
||||||
|
taskbar_background_id = 0
|
||||||
|
taskbar_active_background_id = 0
|
||||||
|
taskbar_name = 1
|
||||||
|
taskbar_hide_inactive_tasks = 0
|
||||||
|
taskbar_hide_different_monitor = 0
|
||||||
|
taskbar_hide_different_desktop = 0
|
||||||
|
taskbar_always_show_all_desktop_tasks = 0
|
||||||
|
taskbar_name_padding = 1 0
|
||||||
|
taskbar_name_background_id = 0
|
||||||
|
taskbar_name_active_background_id = 2
|
||||||
|
taskbar_name_font = Ubuntu Ultra-Bold 10
|
||||||
|
taskbar_name_font_color = #e3e3e3 100
|
||||||
|
taskbar_name_active_font_color = #ffffff 100
|
||||||
|
taskbar_distribute_size = 1
|
||||||
|
taskbar_sort_order = none
|
||||||
|
task_align = left
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Task
|
||||||
|
task_text = 0
|
||||||
|
task_icon = 1
|
||||||
|
task_centered = 1
|
||||||
|
urgent_nb_of_blink = 100000
|
||||||
|
task_maximum_size = 150 35
|
||||||
|
task_padding = 2 2 4
|
||||||
|
task_tooltip = 1
|
||||||
|
task_thumbnail = 1
|
||||||
|
task_thumbnail_size = 210
|
||||||
|
task_font_color = #ffffff 100
|
||||||
|
task_background_id = 0
|
||||||
|
task_active_background_id = 3
|
||||||
|
task_urgent_background_id = 4
|
||||||
|
task_iconified_background_id = 0
|
||||||
|
mouse_left = toggle
|
||||||
|
mouse_middle = none
|
||||||
|
mouse_right = close
|
||||||
|
mouse_scroll_up = desktop_left
|
||||||
|
mouse_scroll_down = desktop_right
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# System tray (notification area)
|
||||||
|
systray_padding = 0 4 2
|
||||||
|
systray_background_id = 0
|
||||||
|
systray_sort = ascending
|
||||||
|
systray_icon_size = 24
|
||||||
|
systray_icon_asb = 100 0 0
|
||||||
|
systray_monitor = 1
|
||||||
|
systray_name_filter =
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Launcher
|
||||||
|
launcher_padding = 2 4 2
|
||||||
|
launcher_background_id = 0
|
||||||
|
launcher_icon_background_id = 0
|
||||||
|
launcher_icon_size = 24
|
||||||
|
launcher_icon_asb = 100 0 0
|
||||||
|
launcher_icon_theme_override = 0
|
||||||
|
startup_notifications = 1
|
||||||
|
launcher_tooltip = 1
|
||||||
|
launcher_item_app = tint2conf.desktop
|
||||||
|
launcher_item_app = firefox.desktop
|
||||||
|
launcher_item_app = iceweasel.desktop
|
||||||
|
launcher_item_app = chromium-browser.desktop
|
||||||
|
launcher_item_app = google-chrome.desktop
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Clock
|
||||||
|
time1_format = %I
|
||||||
|
time2_format = %M
|
||||||
|
time1_font = Ubuntu Mono Bold 10
|
||||||
|
time1_timezone =
|
||||||
|
time2_timezone =
|
||||||
|
time2_font = Ubuntu Mono Medium 10
|
||||||
|
clock_font_color = #ffffff 100
|
||||||
|
clock_padding = 2 0
|
||||||
|
clock_background_id = 0
|
||||||
|
clock_tooltip =
|
||||||
|
clock_tooltip_timezone =
|
||||||
|
clock_lclick_command =
|
||||||
|
clock_rclick_command = orage
|
||||||
|
clock_mclick_command =
|
||||||
|
clock_uwheel_command =
|
||||||
|
clock_dwheel_command =
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Battery
|
||||||
|
battery_tooltip = 1
|
||||||
|
battery_low_status = 10
|
||||||
|
battery_low_cmd = xmessage 'tint2: Battery low!'
|
||||||
|
battery_full_cmd =
|
||||||
|
battery_font_color = #ffffff 100
|
||||||
|
bat1_format =
|
||||||
|
bat2_format =
|
||||||
|
battery_padding = 1 0
|
||||||
|
battery_background_id = 0
|
||||||
|
battery_hide = 101
|
||||||
|
battery_lclick_command =
|
||||||
|
battery_rclick_command =
|
||||||
|
battery_mclick_command =
|
||||||
|
battery_uwheel_command =
|
||||||
|
battery_dwheel_command =
|
||||||
|
ac_connected_cmd =
|
||||||
|
ac_disconnected_cmd =
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Separator 1
|
||||||
|
separator = new
|
||||||
|
separator_background_id = 0
|
||||||
|
separator_color = #777777 80
|
||||||
|
separator_style = empty
|
||||||
|
separator_size = 3
|
||||||
|
separator_padding = 4 0
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Separator 2
|
||||||
|
separator = new
|
||||||
|
separator_background_id = 0
|
||||||
|
separator_color = #777777 80
|
||||||
|
separator_style = empty
|
||||||
|
separator_size = 3
|
||||||
|
separator_padding = 1 0
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Separator 3
|
||||||
|
separator = new
|
||||||
|
separator_background_id = 0
|
||||||
|
separator_color = #777777 80
|
||||||
|
separator_style = empty
|
||||||
|
separator_size = 3
|
||||||
|
separator_padding = 1 0
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Button 1
|
||||||
|
button = new
|
||||||
|
button_icon = search
|
||||||
|
button_text =
|
||||||
|
button_lclick_command = rofi -show run
|
||||||
|
button_rclick_command =
|
||||||
|
button_mclick_command =
|
||||||
|
button_uwheel_command =
|
||||||
|
button_dwheel_command =
|
||||||
|
button_font = Ubuntu 10
|
||||||
|
button_font_color = #ffffff 100
|
||||||
|
button_padding = 0 7
|
||||||
|
button_background_id = 0
|
||||||
|
button_centered = 1
|
||||||
|
button_max_icon_size = 0
|
||||||
|
|
||||||
|
#-------------------------------------
|
||||||
|
# Tooltip
|
||||||
|
tooltip_show_timeout = 0.5
|
||||||
|
tooltip_hide_timeout = 0.1
|
||||||
|
tooltip_padding = 4 4
|
||||||
|
tooltip_background_id = 5
|
||||||
|
tooltip_font_color = #dddddd 100
|
||||||
|
|
26
modules/waybar/config.json
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"height": 1080,
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"active-only": false,
|
||||||
|
"format": "{name}"
|
||||||
|
},
|
||||||
|
"layer": "top",
|
||||||
|
"modules-center": [],
|
||||||
|
"modules-left": [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"tray",
|
||||||
|
"wireplumber"
|
||||||
|
],
|
||||||
|
"output": [
|
||||||
|
"eDP-1"
|
||||||
|
],
|
||||||
|
"position": "left",
|
||||||
|
"width": 30,
|
||||||
|
"wireplumber": {
|
||||||
|
"scroll-step": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
51
modules/waybar/home.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ ... }: {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
|
||||||
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "left";
|
||||||
|
|
||||||
|
height = 1080;
|
||||||
|
width = 30;
|
||||||
|
|
||||||
|
|
||||||
|
output = [
|
||||||
|
"eDP-1"
|
||||||
|
];
|
||||||
|
|
||||||
|
modules-left = [ "hyprland/workspaces" ];
|
||||||
|
modules-right = [ "hyprland/submap" "tray" "wireplumber" ];
|
||||||
|
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
active-only = false;
|
||||||
|
format = "<b>{name}</b>\n{windows}";
|
||||||
|
format-window-separator = "\n";
|
||||||
|
persistent-workspaces."*" = 5;
|
||||||
|
};
|
||||||
|
|
||||||
|
"hyprland/window" = {
|
||||||
|
format= "{title}";
|
||||||
|
separate-outputs = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"hyprland/submap" = {
|
||||||
|
max-length = 8;
|
||||||
|
format = "lol {}";
|
||||||
|
tooltip = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"tray" = {
|
||||||
|
spacing = 10;
|
||||||
|
icon-size = 20;
|
||||||
|
};
|
||||||
|
|
||||||
|
"wireplumber" = {
|
||||||
|
scroll-step = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
0
scripts/qutesearch.nix
Normal file
BIN
wallpapers/blip-blip-blip-blip.jpg
Normal file
After Width: | Height: | Size: 1020 KiB |
BIN
wallpapers/blopies.jpg
Normal file
After Width: | Height: | Size: 2.0 MiB |
BIN
wallpapers/blorbos.jpg
Normal file
After Width: | Height: | Size: 592 KiB |
BIN
wallpapers/bowling-alley.jpg
Normal file
After Width: | Height: | Size: 103 KiB |
BIN
wallpapers/currents.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
wallpapers/eyes.jpg
Normal file
After Width: | Height: | Size: 6.8 MiB |
BIN
wallpapers/flesh.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
BIN
wallpapers/trails.jpg
Normal file
After Width: | Height: | Size: 4.3 MiB |