Compare commits
179 Commits
2cf0655a58
...
main
Author | SHA1 | Date | |
---|---|---|---|
b3d4865101
|
|||
bf7fef3181
|
|||
fbe6dbf84a
|
|||
6b71bb213e
|
|||
dc5ea719d7
|
|||
adbaed8256
|
|||
e603322c45
|
|||
4ad87a9d0a
|
|||
2b0334fdc0
|
|||
ee5ba9db09
|
|||
6228e9e269
|
|||
f643fe7cd5
|
|||
d0e26059f0
|
|||
f6adac8cf0
|
|||
8630ff4f3d
|
|||
52620a1de0
|
|||
6fa3538630
|
|||
26d52eadcc
|
|||
ee86571afd
|
|||
c1d9b5360e
|
|||
cf065675a7 | |||
5f2c3d241e | |||
5f30d3e55f | |||
5ee7cd1462 | |||
54dcfeac2f | |||
ab0cdd972b | |||
64fdf478e9 | |||
612cfd7b6b | |||
7564f7be9e | |||
b7b846007d | |||
7b35b606a6 | |||
cb7d690890 | |||
e58a33b54e | |||
dc4cf7fd77 | |||
c0dea56d8b | |||
eb08f3dee0 | |||
29ac4e123d | |||
a9d2a5d224 | |||
064172db50 | |||
1969fd1e14 | |||
f4dd67085e | |||
975677f962 | |||
5e047a7d97 | |||
b7ffcf5ec6 | |||
ea5c6db82f | |||
3e98345789 | |||
2c31aba8c8 | |||
a654e76961 | |||
98ef961f8e | |||
ac010bad8c | |||
29a785b79c | |||
cc2a427add | |||
f1e5c6c527 | |||
86db6c447b | |||
4046dcbb48 | |||
b435373a83 | |||
ae8269816d | |||
cac7ef8482 | |||
65fd7498d7 | |||
2fead2a1f8 | |||
b6416eecc7 | |||
bb55528d60 | |||
796808a38a | |||
963e2b1294 | |||
51f0e96488 | |||
9dde449cdd | |||
ce888c4527 | |||
c7bb70d901 | |||
8153599c99 | |||
dad74bcb36 | |||
53b357bae9 | |||
c9a41ac3ef | |||
33c00528c2 | |||
3b64c033f1 | |||
d6e2dca8cb | |||
76c7e69572 | |||
3c470b9a1b | |||
d2608f594e | |||
f2b4c60bad | |||
9cdee2278d | |||
7a11a8beae | |||
af7bab5ed9 | |||
a527dfd0c4 | |||
23a0839019 | |||
69bf951f13 | |||
de76251c18 | |||
18a2072070 | |||
8a769e3ed1 | |||
e778577c57 | |||
c428ff985d | |||
45109c95b5 | |||
eeb7ab6f83 | |||
279e97d215 | |||
3a84898308 | |||
30455c8709 | |||
bb1ec1cbce | |||
27cf08d271 | |||
4a81ea1e0c | |||
eaf4b88ee2 | |||
1988d45fbf | |||
034b693380 | |||
40b59c2cf6 | |||
053a6c744f | |||
2d365c49ab | |||
572c5987b2 | |||
6bdee3b1cf | |||
7abb2ddfdc | |||
b8bde251fd | |||
73bc4eaeb2 | |||
1ada9392b6 | |||
7b790129b7 | |||
02df8ea982 | |||
23f1665665 | |||
e9dec5a032 | |||
40bcf42094 | |||
66c4d33550 | |||
c174acb2c8 | |||
0af891a4aa | |||
b7a4ea44de | |||
2bd4c041b4 | |||
2c443ffaa1 | |||
4e55dfb0da | |||
3781a419d7 | |||
72200503dd | |||
7aa46e4b5a | |||
e3507e9373 | |||
fb9939ef57 | |||
e4e318f501 | |||
e8fb5f33a2 | |||
820027b666 | |||
8c4700ef14 | |||
e691f57878 | |||
b60a833fe4 | |||
d880599c2d | |||
d2ee3bd961 | |||
5cadb58c81 | |||
e00a52d660 | |||
54744cee49 | |||
ceca5e1f18 | |||
09a7793d2e | |||
267b6a155b | |||
18bede01bd | |||
b0bfbf51b1 | |||
0165bd9af6 | |||
5fdd7f104c | |||
f20bd94cc3 | |||
72c1f204ff | |||
45f52123ad | |||
7f822cdc94 | |||
923ef537b8 | |||
3d8429c12e | |||
5554cd85a8 | |||
afd81e18b6 | |||
9cd21b6574 | |||
cddb5a623c | |||
3e9ce6bd6c | |||
76456ed033 | |||
b3d3767912 | |||
f7393d1a94 | |||
ed262deb9c | |||
27b933b014 | |||
b8a0e4c563 | |||
6e2130c986 | |||
ff5693263b | |||
3d60f7c462 | |||
74a69941ac | |||
e8f4bdf156 | |||
380bed59a3 | |||
81ae432c3d | |||
9161fa65f9 | |||
6332a15891 | |||
eedb4ddc45 | |||
f8050dcf03 | |||
ce2a59cda4 | |||
200bc2966b | |||
50a4ac9e9f | |||
704c29f6d9 | |||
bf081f0d28 | |||
c6d60abe1e |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1 @@
|
|||||||
smb-secrets
|
|
||||||
nixos-switch.log
|
nixos-switch.log
|
||||||
|
15
.sops.yaml
Normal file
15
.sops.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
keys:
|
||||||
|
- &users:
|
||||||
|
- &chase age19uwxm2gynhjl9m90gckrkh76m9hjut44ak6d8969y4swhz8ypyeqvfcaas
|
||||||
|
- &hosts:
|
||||||
|
- &anzu age1wdjujpvc2zd0g592a9gqa7qzz4pcans8m0tyq3m6eq9np9a3lg2s8kxf3h
|
||||||
|
- &ichigo age1hpcyetyl0yrwxy0geem6z2u2kwl4hmckur7pnaaxwaylf8ata9vsv8j3wh
|
||||||
|
- &kuromi age1culqt965xgweu5h6menrppf7eatq7at04z0n52t365f0nvlv043su5t2yl
|
||||||
|
creation_rules:
|
||||||
|
- path_regex: secrets.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *chase
|
||||||
|
- *anzu
|
||||||
|
- *ichigo
|
||||||
|
- *kuromi
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2025 chase
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
17
README.org
Normal file
17
README.org
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#+TITLE: Nix Config Repository
|
||||||
|
#+AUTHOR: chase
|
||||||
|
#+LANGUAGE: en
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
|
||||||
|
Welcome to my Nix config repository!
|
||||||
|
|
||||||
|
Here you can find my config files. I have only been using NixOS since April 2025, so
|
||||||
|
this is probably not that great of a reference.
|
||||||
|
|
||||||
|
|
||||||
|
* Some Resources That Have Inspired This Config
|
||||||
|
- https://nixos-and-flakes.thiscute.world/
|
||||||
|
- https://github.com/kaleocheng/nix-dots/tree/master
|
||||||
|
- https://gist.github.com/0atman/1a5133b842f929ba4c1e195ee67599d5
|
||||||
|
- https://github.com/woioeow/hyprland-dotfiles/tree/main
|
||||||
|
- https://github.com/HeinzDev/Hyprland-dotfiles
|
@@ -1,266 +0,0 @@
|
|||||||
{ config, pkgs, lib, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot = {
|
|
||||||
enable = true;
|
|
||||||
configurationLimit = 10;
|
|
||||||
};
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# Garbage collection
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 1w";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Optimize store
|
|
||||||
nix.settings.auto-optimise-store = true;
|
|
||||||
|
|
||||||
# Use latest stable kernel
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
|
|
||||||
# Allow power management
|
|
||||||
powerManagement.enable = true;
|
|
||||||
|
|
||||||
# Firmware updates
|
|
||||||
services.fwupd.enable = true;
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Enable Bluetooth
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/New_York";
|
|
||||||
|
|
||||||
# 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 KDE Plasma Desktop Environment.
|
|
||||||
services.xserver.enable = true;
|
|
||||||
services.displayManager.sddm = {
|
|
||||||
wayland.enable = true;
|
|
||||||
enableHidpi = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
|
||||||
elisa
|
|
||||||
kate
|
|
||||||
];
|
|
||||||
|
|
||||||
# Hyprland
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
|
||||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Catppuccin
|
|
||||||
catppuccin = {
|
|
||||||
enable = true;
|
|
||||||
flavor = "mocha";
|
|
||||||
sddm = {
|
|
||||||
enable = true;
|
|
||||||
background = "/home/chase/nixos-config/home/wallpaper.jpg";
|
|
||||||
flavor = "mocha";
|
|
||||||
font = "IBM Plex Sans";
|
|
||||||
fontSize = "11";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable graphics acceleration and AMDVLK
|
|
||||||
hardware.graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
amdvlk
|
|
||||||
];
|
|
||||||
extraPackages32 = with pkgs; [
|
|
||||||
driversi686Linux.amdvlk
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure keymap
|
|
||||||
console.keyMap = "jp106";
|
|
||||||
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "jp";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
i18n.inputMethod = {
|
|
||||||
type = "fcitx5";
|
|
||||||
enable = true;
|
|
||||||
fcitx5.addons = with pkgs; [
|
|
||||||
fcitx5-mozc
|
|
||||||
kdePackages.fcitx5-qt
|
|
||||||
];
|
|
||||||
fcitx5.waylandFrontend = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
ibm-plex
|
|
||||||
liberation_ttf
|
|
||||||
nerd-fonts.blex-mono
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk-sans
|
|
||||||
noto-fonts-emoji
|
|
||||||
];
|
|
||||||
|
|
||||||
# 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;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable Flakes
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# Bash config
|
|
||||||
programs.bash = {
|
|
||||||
blesh.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Define a user account
|
|
||||||
users.users.chase = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Chase";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Install firefox
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
nativeMessagingHosts.packages = [ pkgs.firefoxpwa ];
|
|
||||||
policies = {
|
|
||||||
DisableTelemetry = true;
|
|
||||||
DisableFirefoxAccounts = true;
|
|
||||||
DisableFirefoxStudies = true;
|
|
||||||
DisablePocket = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Install git and enable cache
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
init = {
|
|
||||||
defaultBranch = "main";
|
|
||||||
};
|
|
||||||
credential = {
|
|
||||||
helper = "cache --timeout 21600";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Install Neovim
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
configure = {
|
|
||||||
customRC = ''
|
|
||||||
set autoindent
|
|
||||||
set number relativenumber
|
|
||||||
set tabstop=4
|
|
||||||
colorscheme catppuccin-mocha
|
|
||||||
'';
|
|
||||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
|
||||||
start = [ catppuccin-nvim ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Install Steam
|
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
dedicatedServer.openFirewall = true;
|
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
bitwarden-cli
|
|
||||||
bitwarden-desktop
|
|
||||||
cifs-utils
|
|
||||||
emacs-pgtk
|
|
||||||
firefoxpwa
|
|
||||||
flashrom
|
|
||||||
gcc
|
|
||||||
# nerd-fonts.blex-mono
|
|
||||||
pciutils
|
|
||||||
python3
|
|
||||||
qemu
|
|
||||||
rustup
|
|
||||||
usbutils
|
|
||||||
wget
|
|
||||||
];
|
|
||||||
|
|
||||||
# ssh agent
|
|
||||||
# programs.mtr.enable = true;
|
|
||||||
programs.gnupg.agent.enable = true;
|
|
||||||
|
|
||||||
programs.ssh = {
|
|
||||||
enableAskPassword = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
services.fprintd.enable = true;
|
|
||||||
|
|
||||||
security.polkit.enable = true;
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
services.openssh = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
PasswordAuthentication = false;
|
|
||||||
KbdInteractiveAuthentication = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# 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 = "24.11"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
370
flake.lock
generated
370
flake.lock
generated
@@ -20,11 +20,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747864449,
|
"lastModified": 1755946532,
|
||||||
"narHash": "sha256-PIjVAWghZhr3L0EFM2UObhX84UQxIACbON0IC0zzSKA=",
|
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "aquamarine",
|
"repo": "aquamarine",
|
||||||
"rev": "389372c5f4dc1ac0e7645ed29a35fd6d71672ef5",
|
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -38,11 +38,11 @@
|
|||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748080874,
|
"lastModified": 1756741629,
|
||||||
"narHash": "sha256-sUebEzAkrY8Aq5G0GHFyRddmRNGP/a2iTtV7ISNvi/c=",
|
"narHash": "sha256-n+mgH3NoQf8d1jd8cDp/9Mt++hhyuE3LO3ZAxzjWRZw=",
|
||||||
"owner": "catppuccin",
|
"owner": "catppuccin",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "0ba11b12be81f0849a89ed17ab635164ea8f0112",
|
"rev": "cd22197da06df1eb6fabdaa2fc22c170c4f67382",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -51,7 +51,38 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"crane": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731098351,
|
||||||
|
"narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1747046372,
|
||||||
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1696426674,
|
||||||
@@ -68,6 +99,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730504689,
|
||||||
|
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"nur",
|
"nur",
|
||||||
@@ -110,6 +162,28 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gitignore_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"pre-commit-hooks-nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709087332,
|
||||||
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -117,15 +191,37 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748627197,
|
"lastModified": 1756842514,
|
||||||
"narHash": "sha256-7dTtcq4Yi78cHfZcJaxlqkNs+cDBotrHjR9mkXfiUz4=",
|
"narHash": "sha256-XbtRMewPGJwTNhBC4pnBu3w/xT1XejvB0HfohC2Kga8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "379c9fb858ef9abe92d5590e7502a7c1387c076a",
|
"rev": "30fc1b532645a21e157b6e33e3f8b4c154f86382",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager-stable": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs-stable"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756679287,
|
||||||
|
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "release-25.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -146,11 +242,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745948457,
|
"lastModified": 1753964049,
|
||||||
"narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=",
|
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprcursor",
|
"repo": "hyprcursor",
|
||||||
"rev": "ac903e80b33ba6a88df83d02232483d99f327573",
|
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -175,11 +271,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745015490,
|
"lastModified": 1755678602,
|
||||||
"narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=",
|
"narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprgraphics",
|
||||||
"rev": "60754910946b4e2dc1377b967b7156cb989c5873",
|
"rev": "157cc52065a104fc3b8fa542ae648b992421d1c7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -204,11 +300,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748645134,
|
"lastModified": 1756811803,
|
||||||
"narHash": "sha256-nXTdGPXgI/aUsLSS0vjNqZfCYiWoG7TCp/dVfg2Bwsc=",
|
"narHash": "sha256-03zmDvAU+VLPWHv5uxfGVR6bs/SnCYeZ8hbedK/Eb/M=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "af2fdb5d58f5d3017aafd78a8ddafb40f710e34b",
|
"rev": "127aab815908ecbd3db4d23f127d2e96b79855f9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -229,11 +325,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743714874,
|
"lastModified": 1749046714,
|
||||||
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
|
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-protocols",
|
"repo": "hyprland-protocols",
|
||||||
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
|
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -261,11 +357,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737634706,
|
"lastModified": 1749154592,
|
||||||
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=",
|
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-qt-support",
|
"repo": "hyprland-qt-support",
|
||||||
"rev": "8810df502cdee755993cb803eba7b23f189db795",
|
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -297,11 +393,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745951494,
|
"lastModified": 1753819801,
|
||||||
"narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=",
|
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-qtutils",
|
"repo": "hyprland-qtutils",
|
||||||
"rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e",
|
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -326,11 +422,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747484975,
|
"lastModified": 1753622892,
|
||||||
"narHash": "sha256-+LAQ81HBwG0lwshHlWe0kfWg4KcChIPpnwtnwqmnoEU=",
|
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "163c83b3db48a17c113729c220a60b94596c9291",
|
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -351,11 +447,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746635225,
|
"lastModified": 1756117388,
|
||||||
"narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=",
|
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "674ea57373f08b7609ce93baff131117a0dfe70d",
|
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -376,11 +472,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747584298,
|
"lastModified": 1755184602,
|
||||||
"narHash": "sha256-PH9qZqWLHvSBQiUnA0NzAyQA3tu2no2z8kz0ZeHWj4w=",
|
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "e511882b9c2e1d7a75d45d8fddd2160daeafcbc3",
|
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -389,13 +485,39 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"lanzaboote": {
|
||||||
|
"inputs": {
|
||||||
|
"crane": "crane",
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1737639419,
|
||||||
|
"narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "lanzaboote",
|
||||||
|
"rev": "a65905a09e2c43ff63be8c0e86a93712361f871e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "v0.4.2",
|
||||||
|
"repo": "lanzaboote",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744463964,
|
"lastModified": 1756266583,
|
||||||
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
|
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
|
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -405,13 +527,45 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748460289,
|
"lastModified": 1730741070,
|
||||||
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
|
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
|
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756754095,
|
||||||
|
"narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756266583,
|
||||||
|
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -423,11 +577,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748460289,
|
"lastModified": 1756787288,
|
||||||
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
|
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
|
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -439,18 +593,17 @@
|
|||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
]
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748645350,
|
"lastModified": 1756875847,
|
||||||
"narHash": "sha256-Qy1xqRzaijsaV31Hy/f7Lc8WC4tMjS8m3WGEjKyemaM=",
|
"narHash": "sha256-2L4kOvvCDUDBBBliCNiEXrYN0VqqkB0YHuOGckpp5X8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "78a3ab3f97352f72d205596d8f3e776de96c7708",
|
"rev": "bffccde9bd7869ab355b76d53fbc25ac1f7d37eb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -469,11 +622,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748196248,
|
"lastModified": 1756632588,
|
||||||
"narHash": "sha256-1iHjsH6/5UOerJEoZKE+Gx1BgAoge/YcnUsOA4wQ/BU=",
|
"narHash": "sha256-ydam6eggXf3ZwRutyCABwSbMAlX+5lW6w1SVZQ+kfSo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "b7697abe89967839b273a863a3805345ea54ab56",
|
"rev": "d47428e5390d6a5a8f764808a4db15929347cd77",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -492,11 +645,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747372754,
|
"lastModified": 1755960406,
|
||||||
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
|
"narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
|
"rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -505,14 +658,86 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pre-commit-hooks-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"lanzaboote",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"gitignore": "gitignore_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731363552,
|
||||||
|
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"home-manager-stable": "home-manager-stable",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
|
"lanzaboote": "lanzaboote",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"plasma-manager": "plasma-manager"
|
"plasma-manager": "plasma-manager",
|
||||||
|
"sops-nix": "sops-nix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731897198,
|
||||||
|
"narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sops-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1754988908,
|
||||||
|
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
@@ -530,27 +755,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733222881,
|
|
||||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xdph": {
|
"xdph": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": [
|
"hyprland-protocols": [
|
||||||
@@ -579,11 +783,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1745871725,
|
"lastModified": 1755354946,
|
||||||
"narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=",
|
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e",
|
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
155
flake.nix
155
flake.nix
@@ -1,18 +1,30 @@
|
|||||||
{
|
{
|
||||||
description = "A simple NixOS flake";
|
description = "SecureBoot-enabled NixOS config";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# NixOS official package source, using unstable here
|
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
home-manager-stable = {
|
||||||
|
url = "github:nix-community/home-manager/release-25.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||||
|
};
|
||||||
nur = {
|
nur = {
|
||||||
url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
catppuccin.url = "github:catppuccin/nix";
|
lanzaboote = {
|
||||||
home-manager = {
|
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||||
url = "github:nix-community/home-manager";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
sops-nix = {
|
||||||
|
url = "github:Mic92/sops-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
catppuccin.url = "github:catppuccin/nix";
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
plasma-manager = {
|
plasma-manager = {
|
||||||
url = "github:nix-community/plasma-manager";
|
url = "github:nix-community/plasma-manager";
|
||||||
@@ -21,57 +33,96 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, catppuccin, nur, home-manager, plasma-manager, ... }@inputs: {
|
outputs = {
|
||||||
|
self,
|
||||||
|
catppuccin,
|
||||||
|
lanzaboote,
|
||||||
|
nur,
|
||||||
|
plasma-manager,
|
||||||
|
sops-nix,
|
||||||
|
...
|
||||||
|
} @ inputs: let
|
||||||
|
hosts = import ./hosts/hosts.nix;
|
||||||
|
|
||||||
|
# Make config for non-NixOS hosts
|
||||||
|
mkHomeConfiguration = {
|
||||||
|
host,
|
||||||
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
modules ? [],
|
||||||
|
}:
|
||||||
|
home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
system = host.arch;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
overlays = [
|
||||||
|
nur.overlay
|
||||||
|
];
|
||||||
|
};
|
||||||
|
modules =
|
||||||
|
[
|
||||||
|
./hosts/${host.dir}/home.nix
|
||||||
|
catppuccin.homeModules.catppuccin
|
||||||
|
sops-nix.homeManagerModules.sops
|
||||||
|
]
|
||||||
|
++ modules;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Make config for NixOS hosts
|
||||||
|
mkNixOSConfigurations = {
|
||||||
|
host,
|
||||||
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
modules ? [],
|
||||||
|
}:
|
||||||
|
nixpkgs.lib.nixosSystem {
|
||||||
|
system = host.arch;
|
||||||
|
specialArgs = {inherit inputs;};
|
||||||
|
modules =
|
||||||
|
[
|
||||||
|
./hosts/${host.dir}/configuration.nix
|
||||||
|
nur.modules.nixos.default
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.backupFileExtension = "backup";
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
plasma-manager.homeManagerModules.plasma-manager
|
||||||
|
sops-nix.homeManagerModules.sops
|
||||||
|
];
|
||||||
|
home-manager.users."${host.user}".imports = [
|
||||||
|
./hosts/${host.dir}/home.nix
|
||||||
|
catppuccin.homeModules.catppuccin
|
||||||
|
];
|
||||||
|
}
|
||||||
|
]
|
||||||
|
++ modules;
|
||||||
|
};
|
||||||
|
in {
|
||||||
# Please replace my-nixos with your hostname
|
# Please replace my-nixos with your hostname
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
anzu = nixpkgs.lib.nixosSystem {
|
anzu = mkNixOSConfigurations {
|
||||||
system = "x86_64-linux";
|
host = hosts.anzu;
|
||||||
specialArgs = { inherit inputs; };
|
nixpkgs = inputs.nixpkgs;
|
||||||
modules = [
|
home-manager = inputs.home-manager;
|
||||||
# Import the previous configuration.nix we used,
|
modules = [lanzaboote.nixosModules.lanzaboote];
|
||||||
# so the old configuration file still takes effect
|
|
||||||
./configuration.nix
|
|
||||||
./hosts/anzu/hardware-configuration.nix
|
|
||||||
# Add NUR overlay
|
|
||||||
nur.modules.nixos.default
|
|
||||||
# Add catppuccin
|
|
||||||
catppuccin.nixosModules.catppuccin
|
|
||||||
# Add home-manager
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.backupFileExtension = "backup";
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
|
|
||||||
home-manager.users.chase = {
|
|
||||||
imports = [
|
|
||||||
./home/home.nix
|
|
||||||
catppuccin.homeManagerModules.catppuccin
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
ichigo = mkNixOSConfigurations {
|
||||||
];
|
host = hosts.ichigo;
|
||||||
|
nixpkgs = inputs.nixpkgs;
|
||||||
|
home-manager = inputs.home-manager;
|
||||||
|
modules = [];
|
||||||
};
|
};
|
||||||
ichigo = nixpkgs.lib.nixosSystem {
|
kuromi = mkNixOSConfigurations {
|
||||||
system = "x86_64-linux";
|
host = hosts.kuromi;
|
||||||
specialArgs = { inherit inputs; };
|
nixpkgs = inputs.nixpkgs-stable;
|
||||||
modules = [
|
home-manager = inputs.home-manager-stable;
|
||||||
./configuration.nix
|
modules = [];
|
||||||
./hosts/ichigo/hardware-configuration.nix
|
|
||||||
nur.modules.nixos.default
|
|
||||||
catppuccin.nixosModules.catppuccin
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.backupFileExtension = "backup";
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
|
|
||||||
home-manager.users.chase = {
|
|
||||||
imports = [
|
|
||||||
./home/home.nix
|
|
||||||
catppuccin.homeManagerModules.catppuccin
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
7
home/README.org
Normal file
7
home/README.org
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#+TITLE: Home Manager Config
|
||||||
|
#+AUTHOR: chase
|
||||||
|
#+LANGUAGE: en
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
|
||||||
|
* Wallpaper Source
|
||||||
|
https://x.com/allwifeman/status/1513766332252098562
|
243
home/base.nix
Normal file
243
home/base.nix
Normal file
@@ -0,0 +1,243 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home = {
|
||||||
|
username = "chase";
|
||||||
|
homeDirectory = "/home/chase";
|
||||||
|
preferXdgDirectories = true;
|
||||||
|
file = {
|
||||||
|
"scripts" = {
|
||||||
|
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sessionPath = [
|
||||||
|
"$HOME/scripts"
|
||||||
|
];
|
||||||
|
sessionVariables = {
|
||||||
|
# Aspell stuff
|
||||||
|
ASPELL_CONF = "per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_DATA_HOME/aspell/en.pws; repl $XDG_DATA_HOME/aspell/en.prepl";
|
||||||
|
# Bitwarden stuff
|
||||||
|
BITWARDEN_SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/.bitwarden-ssh-agent.sock";
|
||||||
|
SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/.bitwarden-ssh-agent.sock";
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
|
||||||
|
# Java stuff
|
||||||
|
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot='$XDG_CONFIG_HOME'/java";
|
||||||
|
# libx11 stuff
|
||||||
|
XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
|
||||||
|
XCOMPOSEFILE = "$XDG_CONFIG_HOME/X11/xcompose";
|
||||||
|
};
|
||||||
|
shellAliases = {
|
||||||
|
gs = "git status";
|
||||||
|
"..." = "cd ../..";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg = {
|
||||||
|
enable = true;
|
||||||
|
userDirs.enable = true;
|
||||||
|
configFile = {
|
||||||
|
"emacs/early-init.el" = {
|
||||||
|
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
|
||||||
|
};
|
||||||
|
"emacs/init.el" = {
|
||||||
|
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
flavor = "mocha";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.bash = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
historyIgnore = [
|
||||||
|
"ls"
|
||||||
|
"ls -a"
|
||||||
|
"ls -l"
|
||||||
|
"ls -la"
|
||||||
|
"cd"
|
||||||
|
"exit"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
history = {
|
||||||
|
append = true;
|
||||||
|
extended = true;
|
||||||
|
ignoreDups = true;
|
||||||
|
ignorePatterns = [
|
||||||
|
"ls *"
|
||||||
|
"cd *"
|
||||||
|
"gs"
|
||||||
|
"exit"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.bat.enable = true;
|
||||||
|
|
||||||
|
programs.btop.enable = true;
|
||||||
|
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkDefault pkgs.emacs-nox;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fastfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
logo = {
|
||||||
|
source = "nixos_small";
|
||||||
|
};
|
||||||
|
display = {
|
||||||
|
size = {
|
||||||
|
binaryPrefix = "si";
|
||||||
|
};
|
||||||
|
color = "blue";
|
||||||
|
separator = ": ";
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
"title"
|
||||||
|
"separator"
|
||||||
|
"os"
|
||||||
|
"host"
|
||||||
|
"uptime"
|
||||||
|
"kernel"
|
||||||
|
"packages"
|
||||||
|
"lm"
|
||||||
|
"de"
|
||||||
|
"wm"
|
||||||
|
"shell"
|
||||||
|
"terminal"
|
||||||
|
"terminalfont"
|
||||||
|
{
|
||||||
|
key = "Display";
|
||||||
|
type = "display";
|
||||||
|
}
|
||||||
|
"cpu"
|
||||||
|
"gpu"
|
||||||
|
"memory"
|
||||||
|
"swap"
|
||||||
|
"disk"
|
||||||
|
"datetime"
|
||||||
|
"colors"
|
||||||
|
"break"
|
||||||
|
"player"
|
||||||
|
"media"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "chase";
|
||||||
|
userEmail = "chase@cathoderaytube.net";
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
pull.rebase = true;
|
||||||
|
};
|
||||||
|
signing = {
|
||||||
|
format = "ssh";
|
||||||
|
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFSQX+s8Krl312DcnUtoEWOA2silcUnt5URtyVZz8Yek";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git-credential-oauth.enable = true;
|
||||||
|
|
||||||
|
programs.gpg = {
|
||||||
|
enable = true;
|
||||||
|
homedir = "${config.xdg.dataHome}/gnupg";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.htop.enable = true;
|
||||||
|
|
||||||
|
programs.rmpc = {
|
||||||
|
enable = true;
|
||||||
|
config = ''
|
||||||
|
(
|
||||||
|
enable_config_hot_reload: true,
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
settings = {
|
||||||
|
line_break = {
|
||||||
|
disabled = true;
|
||||||
|
};
|
||||||
|
username = {
|
||||||
|
style_user = "bold blue";
|
||||||
|
format = "[$user]($style)@";
|
||||||
|
show_always = true;
|
||||||
|
};
|
||||||
|
hostname = {
|
||||||
|
style = "bold cyan";
|
||||||
|
format = "[$ssh_symbol$hostname]($style) ";
|
||||||
|
ssh_only = false;
|
||||||
|
};
|
||||||
|
directory = {
|
||||||
|
style = "bold green";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.yazi = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.yt-dlp = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
cookies-from-browser = "firefox";
|
||||||
|
write-description = true;
|
||||||
|
write-info-json = true;
|
||||||
|
embed-info-json = true;
|
||||||
|
embed-chapters = true;
|
||||||
|
embed-metadata = true;
|
||||||
|
write-subs = true;
|
||||||
|
embed-subs = true;
|
||||||
|
sub-langs = "en.*,ja";
|
||||||
|
write-thumbnail = true;
|
||||||
|
embed-thumbnail = true;
|
||||||
|
sponsorblock-mark = "all";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
aspell
|
||||||
|
aspellDicts.en
|
||||||
|
aspellDicts.en-computers
|
||||||
|
aspellDicts.en-science
|
||||||
|
ffmpeg
|
||||||
|
font-awesome
|
||||||
|
fortune
|
||||||
|
imagemagick
|
||||||
|
lm_sensors
|
||||||
|
lolcat
|
||||||
|
nerd-fonts.blex-mono
|
||||||
|
texliveFull
|
||||||
|
];
|
||||||
|
}
|
278
home/desktop.nix
Normal file
278
home/desktop.nix
Normal file
@@ -0,0 +1,278 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./base.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.emacs-pgtk;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
nativeMessagingHosts = [pkgs.firefoxpwa];
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
id = 0;
|
||||||
|
name = "default";
|
||||||
|
isDefault = true;
|
||||||
|
containers = {
|
||||||
|
personal = {
|
||||||
|
color = "purple";
|
||||||
|
icon = "fingerprint";
|
||||||
|
id = 1;
|
||||||
|
};
|
||||||
|
work = {
|
||||||
|
color = "orange";
|
||||||
|
icon = "briefcase";
|
||||||
|
id = 2;
|
||||||
|
};
|
||||||
|
social = {
|
||||||
|
color = "blue";
|
||||||
|
icon = "chill";
|
||||||
|
id = 3;
|
||||||
|
};
|
||||||
|
dev = {
|
||||||
|
color = "green";
|
||||||
|
icon = "circle";
|
||||||
|
id = 4;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
containersForce = true;
|
||||||
|
extensions = {
|
||||||
|
force = true;
|
||||||
|
packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
|
awesome-rss
|
||||||
|
betterttv
|
||||||
|
bitwarden
|
||||||
|
blocktube
|
||||||
|
facebook-container
|
||||||
|
flagfox
|
||||||
|
hyperchat
|
||||||
|
istilldontcareaboutcookies
|
||||||
|
linkwarden
|
||||||
|
livetl
|
||||||
|
return-youtube-dislikes
|
||||||
|
search-by-image
|
||||||
|
sponsorblock
|
||||||
|
tab-session-manager
|
||||||
|
tampermonkey
|
||||||
|
ublock-origin
|
||||||
|
windscribe
|
||||||
|
ytcfilter
|
||||||
|
];
|
||||||
|
settings = {
|
||||||
|
"uBlock0@raymondhill.net" = {
|
||||||
|
force = true;
|
||||||
|
settings = {
|
||||||
|
selectedFilterLists = [
|
||||||
|
"ublock-filters"
|
||||||
|
"ublock-badware"
|
||||||
|
"ublock-privacy"
|
||||||
|
"ublock-unbreak"
|
||||||
|
"ublock-quick-fixes"
|
||||||
|
"easylist"
|
||||||
|
"easyprivacy"
|
||||||
|
"urlhaus-1"
|
||||||
|
"plowe-0"
|
||||||
|
"fanboy-cookiemonster"
|
||||||
|
"ublock-cookies-easylist"
|
||||||
|
"adguard-cookies"
|
||||||
|
"ublock-cookies-adguard"
|
||||||
|
"ublock-annoyances"
|
||||||
|
"https://git.traphouse.cathoderaytube.net/chase/ublock-filters/raw/branch/main/chase-all.txt"
|
||||||
|
"user-filters"
|
||||||
|
];
|
||||||
|
importedLists = [
|
||||||
|
"https://git.traphouse.cathoderaytube.net/chase/ublock-filters/raw/branch/main/chase-all.txt"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"Tab-Session-Manager@sienori" = {
|
||||||
|
settings = {
|
||||||
|
"startupBehavior" = ["previousSession"];
|
||||||
|
"Settings" = {
|
||||||
|
"startupBehavior" = "previousSession";
|
||||||
|
"openButtonBehavior" = "openInCurrentWindow";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
"apz.gtk.touchpad_pinch.enabled" = false;
|
||||||
|
"browser.formfill.enable" = false;
|
||||||
|
"browser.ml.chat.enabled" = false;
|
||||||
|
"browser.ml.chat.shortcuts" = false;
|
||||||
|
"browser.ml.chat.sidebar" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
|
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
||||||
|
"browser.topsites.contile.enabled" = false;
|
||||||
|
"browser.urlbar.trimURLs" = false;
|
||||||
|
"browser.urlbar.unitConversion.enabled" = true;
|
||||||
|
"dom.security.https_only_mode" = true;
|
||||||
|
"extensions.formautofill.addresses.enabled" = false;
|
||||||
|
"extensions.formautofill.creditCards.enabled" = false;
|
||||||
|
"extensions.pocket.enabled" = false;
|
||||||
|
"general.autoScroll" = true;
|
||||||
|
"permissions.default.geo" = 2;
|
||||||
|
"privacy.bounceTrackingProtection.mode" = 1;
|
||||||
|
"privacy.fingerprintingProtection" = true;
|
||||||
|
"privacy.trackingprotection.consentmanager.skip.pbmode.enabled" = false;
|
||||||
|
"privacy.trackingprotection.emailtracking.enabled" = true;
|
||||||
|
"privacy.trackingprotection.enabled" = true;
|
||||||
|
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||||
|
"signon.rememberSignons" = false;
|
||||||
|
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||||
|
};
|
||||||
|
search = {
|
||||||
|
force = true;
|
||||||
|
default = "SearX";
|
||||||
|
order = ["SearX" "google"];
|
||||||
|
engines = {
|
||||||
|
"MELPA" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://melpa.org/#/?q={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@m"];
|
||||||
|
};
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/packages?channel=unstable";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@np"];
|
||||||
|
};
|
||||||
|
"SearX" = {
|
||||||
|
urls = [{template = "https://searx.traphouse.cathoderaytube.net/?q={searchTerms}";}];
|
||||||
|
definedAliases = ["@searx"];
|
||||||
|
};
|
||||||
|
"bing".metaData.hidden = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
enableGitIntegration = true;
|
||||||
|
shellIntegration = {
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
font = {
|
||||||
|
name = "BlexMono Nerd Font";
|
||||||
|
size = 11;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.mpv = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
profile = "gpu-hq";
|
||||||
|
ytdl-format = "bestvideo+bestaudio";
|
||||||
|
};
|
||||||
|
scripts = [
|
||||||
|
pkgs.mpvScripts.mpris
|
||||||
|
pkgs.mpvScripts.sponsorblock
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.obs-studio.enable = true;
|
||||||
|
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.rofi-wayland;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
anki-bin
|
||||||
|
gimp
|
||||||
|
ibm-plex
|
||||||
|
kdePackages.kdenlive
|
||||||
|
libnotify
|
||||||
|
libreoffice
|
||||||
|
logiops
|
||||||
|
openutau
|
||||||
|
picard
|
||||||
|
protonmail-bridge
|
||||||
|
(pkgs.python3.withPackages (python-pkgs: [
|
||||||
|
python-pkgs.python-lsp-server
|
||||||
|
python-pkgs.python-lsp-ruff
|
||||||
|
]))
|
||||||
|
runelite
|
||||||
|
thunderbird
|
||||||
|
vcv-rack
|
||||||
|
waybar
|
||||||
|
waybar-mpris
|
||||||
|
];
|
||||||
|
|
||||||
|
services.arrpc.enable = true;
|
||||||
|
|
||||||
|
services.emacs = {
|
||||||
|
enable = true;
|
||||||
|
client = {
|
||||||
|
enable = true;
|
||||||
|
arguments = [
|
||||||
|
"-c"
|
||||||
|
"-a ''"
|
||||||
|
"-n"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
defaultEditor = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mpd = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
audio_output {
|
||||||
|
type "pipewire"
|
||||||
|
name "Pipewire Output"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
musicDirectory = "/mnt/share/media/music";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mpd-discord-rpc = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
hosts = ["localhost:6600"];
|
||||||
|
format = {
|
||||||
|
details = "$track - $title [$duration]";
|
||||||
|
state = "$artist / $album ($date)";
|
||||||
|
timestamp = "elapsed";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mpd-mpris = {
|
||||||
|
enable = true;
|
||||||
|
mpd.useLocal = true;
|
||||||
|
};
|
||||||
|
}
|
@@ -40,7 +40,7 @@
|
|||||||
(load custom-file))
|
(load custom-file))
|
||||||
|
|
||||||
;; backup directory instead of loose files
|
;; backup directory instead of loose files
|
||||||
(setq backup-directory-alist '(("." . "~/.config/emacs/backups")))
|
(setq backup-directory-alist '(("." . (expand-file-name "backups/" user-emacs-directory))))
|
||||||
(setq backup-by-copying t)
|
(setq backup-by-copying t)
|
||||||
|
|
||||||
;; defer package initialize
|
;; defer package initialize
|
||||||
@@ -49,11 +49,6 @@
|
|||||||
;; prevent resizing of the frame
|
;; prevent resizing of the frame
|
||||||
(setq frame-inhibit-implied-resize t)
|
(setq frame-inhibit-implied-resize t)
|
||||||
|
|
||||||
;; no bars
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
(scroll-bar-mode -1)
|
|
||||||
|
|
||||||
;; no startup screen
|
;; no startup screen
|
||||||
(setq inhibit-startup-screen t)
|
(setq inhibit-startup-screen t)
|
||||||
|
|
||||||
|
@@ -3,6 +3,10 @@
|
|||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
;; Check Emacs version and warn if it is not supported
|
||||||
|
(when (and (<= emacs-major-version 29) (< emacs-minor-version 4))
|
||||||
|
(warn (format "This config is designed for Emacs 29+, please upgrade.")))
|
||||||
|
|
||||||
;; display startup time
|
;; display startup time
|
||||||
(defun chase/display-startup-time ()
|
(defun chase/display-startup-time ()
|
||||||
"Write init time and number of garbage collections to message buffer."
|
"Write init time and number of garbage collections to message buffer."
|
||||||
@@ -11,17 +15,22 @@
|
|||||||
|
|
||||||
(add-hook 'emacs-startup-hook #'chase/display-startup-time)
|
(add-hook 'emacs-startup-hook #'chase/display-startup-time)
|
||||||
|
|
||||||
;; set repos and bootstrap use-package
|
;; automatically create missing directories
|
||||||
;; (require 'package)
|
;; source: https://emacsredux.com/blog/2022/06/12/auto-create-missing-directories/
|
||||||
|
(defun er-auto-create-missing-dirs ()
|
||||||
|
"Create missing parent directories automatically when opening a file."
|
||||||
|
(let ((target-dir (file-name-directory buffer-file-name)))
|
||||||
|
(unless (file-exists-p target-dir)
|
||||||
|
(make-directory target-dir t))))
|
||||||
|
|
||||||
;; (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
(add-to-list 'find-file-not-found-functions #'er-auto-create-missing-dirs)
|
||||||
|
|
||||||
;; (package-initialize)
|
;; no bars
|
||||||
|
(add-hook 'window-setup-hook (lambda ()
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(scroll-bar-mode -1)))
|
||||||
|
|
||||||
;; (eval-when-compile
|
|
||||||
;; (require 'use-package))
|
|
||||||
|
|
||||||
;;
|
|
||||||
;; bootstrap straight
|
;; bootstrap straight
|
||||||
(defvar bootstrap-version)
|
(defvar bootstrap-version)
|
||||||
(let ((bootstrap-file
|
(let ((bootstrap-file
|
||||||
@@ -41,13 +50,10 @@
|
|||||||
|
|
||||||
(setq straight-use-package-by-default t)
|
(setq straight-use-package-by-default t)
|
||||||
|
|
||||||
;; always install missing packages
|
|
||||||
;; (require 'use-package-ensure)
|
|
||||||
;; (setq use-package-always-ensure t)
|
|
||||||
(setq use-package-always-demand t
|
(setq use-package-always-demand t
|
||||||
use-package-compute-statistics t)
|
use-package-compute-statistics t)
|
||||||
|
|
||||||
(require 'bind-key)
|
(use-package bind-key)
|
||||||
|
|
||||||
(use-package diminish)
|
(use-package diminish)
|
||||||
|
|
||||||
@@ -56,16 +62,6 @@
|
|||||||
:config
|
:config
|
||||||
(add-hook 'after-init-hook #'benchmark-init/deactivate))
|
(add-hook 'after-init-hook #'benchmark-init/deactivate))
|
||||||
|
|
||||||
;; auto-update packages
|
|
||||||
;; (use-package auto-package-update
|
|
||||||
;; :custom
|
|
||||||
;; (setq auto-package-update-delete-old-versions t
|
|
||||||
;; auto-package-update-hide-results t
|
|
||||||
;; auto-package-update-interval 7)
|
|
||||||
;; :config
|
|
||||||
;; (auto-package-update-maybe)
|
|
||||||
;; (auto-package-update-at-time "09:30"))
|
|
||||||
|
|
||||||
;; set locale
|
;; set locale
|
||||||
(set-language-environment "UTF-8")
|
(set-language-environment "UTF-8")
|
||||||
(prefer-coding-system 'utf-8-unix)
|
(prefer-coding-system 'utf-8-unix)
|
||||||
@@ -116,6 +112,26 @@
|
|||||||
:config
|
:config
|
||||||
(evil-collection-init))
|
(evil-collection-init))
|
||||||
|
|
||||||
|
(use-package evil-surround
|
||||||
|
:config
|
||||||
|
(global-evil-surround-mode 1))
|
||||||
|
|
||||||
|
(use-package vertico
|
||||||
|
:custom
|
||||||
|
(vertico-cycle t)
|
||||||
|
:init
|
||||||
|
(vertico-mode))
|
||||||
|
|
||||||
|
(use-package savehist
|
||||||
|
:init
|
||||||
|
(savehist-mode))
|
||||||
|
|
||||||
|
(use-package orderless
|
||||||
|
:custom
|
||||||
|
(completion-styles '(orderless basic))
|
||||||
|
(completion-category-defaults nil)
|
||||||
|
(completion-category-overrides '((file (styles partial-completion)))))
|
||||||
|
|
||||||
;; prevent laggy icons
|
;; prevent laggy icons
|
||||||
(setq inhibit-compacting-font-caches t)
|
(setq inhibit-compacting-font-caches t)
|
||||||
|
|
||||||
@@ -128,6 +144,11 @@
|
|||||||
:config
|
:config
|
||||||
(nerd-icons-completion-mode))
|
(nerd-icons-completion-mode))
|
||||||
|
|
||||||
|
(use-package nerd-icons-corfu
|
||||||
|
:after corfu
|
||||||
|
:config
|
||||||
|
(add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
||||||
|
|
||||||
(use-package nerd-icons-dired
|
(use-package nerd-icons-dired
|
||||||
:hook
|
:hook
|
||||||
(dired-mode . nerd-icons-dired-mode))
|
(dired-mode . nerd-icons-dired-mode))
|
||||||
@@ -159,14 +180,10 @@
|
|||||||
(column-number-mode)
|
(column-number-mode)
|
||||||
|
|
||||||
;; line numbers, not quite everywhere
|
;; line numbers, not quite everywhere
|
||||||
|
(setq-default display-line-numbers-type 'relative)
|
||||||
(add-hook 'prog-mode-hook #'display-line-numbers-mode)
|
(add-hook 'prog-mode-hook #'display-line-numbers-mode)
|
||||||
(add-hook 'text-mode #'display-line-numbers-mode)
|
(add-hook 'text-mode #'display-line-numbers-mode)
|
||||||
|
|
||||||
;; center cursor
|
|
||||||
;; (use-package centered-cursor-mode
|
|
||||||
;; :config
|
|
||||||
;; (global-centered-cursor-mode))
|
|
||||||
|
|
||||||
;; move cursor to new help windows
|
;; move cursor to new help windows
|
||||||
(setq help-window-select t)
|
(setq help-window-select t)
|
||||||
|
|
||||||
@@ -196,15 +213,17 @@
|
|||||||
(setq ibuffer-saved-filter-groups
|
(setq ibuffer-saved-filter-groups
|
||||||
'(("Default"
|
'(("Default"
|
||||||
("Terminal" (name . "^\\*terminal\\*$"))
|
("Terminal" (name . "^\\*terminal\\*$"))
|
||||||
|
("Nix" (mode . nix-ts-mode))
|
||||||
("Code" (or
|
("Code" (or
|
||||||
(mode . c-ts-mode)
|
(mode . c-ts-mode)
|
||||||
(mode . c++-ts-mode)
|
(mode . c++-ts-mode)
|
||||||
|
(mode . emacs-lisp-mode)
|
||||||
(mode . js-ts-mode)
|
(mode . js-ts-mode)
|
||||||
(mode . makefile-gmake-mode)
|
(mode . makefile-gmake-mode)
|
||||||
(mode . python-ts-mode)
|
(mode . python-ts-mode)
|
||||||
(mode . rust-ts-mode)))
|
(mode . rust-ts-mode)))
|
||||||
("Dired" (mode . dired-mode))
|
|
||||||
("Org" (mode . org-mode))
|
("Org" (mode . org-mode))
|
||||||
|
("Dired" (mode . dired-mode))
|
||||||
("Magit" (name . "^magit"))
|
("Magit" (name . "^magit"))
|
||||||
("Emacs" (or
|
("Emacs" (or
|
||||||
(name . "^\\*Completions\\*$")
|
(name . "^\\*Completions\\*$")
|
||||||
@@ -215,10 +234,19 @@
|
|||||||
|
|
||||||
(add-hook 'ibuffer-mode-hook
|
(add-hook 'ibuffer-mode-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(ibuffer-switch-to-saved-filter-groups "Default")))
|
(ibuffer-switch-to-saved-filter-groups "Default")
|
||||||
|
(ibuffer-auto-mode 1)))
|
||||||
|
|
||||||
|
;; make dired less messy
|
||||||
|
(setf dired-kill-when-opening-new-dired-buffer t)
|
||||||
|
|
||||||
|
;; kill buffers
|
||||||
|
(substitute-key-definition 'kill-buffer 'kill-buffer-and-window global-map)
|
||||||
|
|
||||||
;; git stuff
|
;; git stuff
|
||||||
(use-package magit)
|
(use-package magit
|
||||||
|
:config
|
||||||
|
(setq magit-bury-buffer-function 'kill-buffer))
|
||||||
|
|
||||||
(use-package magit-todos
|
(use-package magit-todos
|
||||||
:after magit)
|
:after magit)
|
||||||
@@ -254,15 +282,26 @@
|
|||||||
:config
|
:config
|
||||||
(treemacs-load-theme "nerd-icons"))
|
(treemacs-load-theme "nerd-icons"))
|
||||||
|
|
||||||
;; company
|
;; corfu
|
||||||
(use-package company
|
(use-package corfu
|
||||||
:bind (:map company-active-map
|
:custom
|
||||||
("C-n" . company-select-next)
|
(corfu-cycle t)
|
||||||
("C-p" . company-select-previous))
|
(corfu-auto t)
|
||||||
|
(corfu-auto-prefix 2)
|
||||||
|
(corfu-auto-delay 0.2)
|
||||||
|
(corfu-quit-at-boundary 'separator)
|
||||||
|
(corfu-echo-documentation 0.25)
|
||||||
:init
|
:init
|
||||||
(global-company-mode)
|
(when (>= emacs-major-version 30)
|
||||||
:config
|
(global-completion-preview-mode 1))
|
||||||
(setq company-idle-delay 0.1)) ;; faster autocomplete
|
(unless (display-graphic-p)
|
||||||
|
(when (require 'corfu-terminal nil :noerror)
|
||||||
|
(corfu-terminal-mode +1)))
|
||||||
|
(global-corfu-mode 1)
|
||||||
|
(corfu-history-mode 1))
|
||||||
|
|
||||||
|
;; license templates
|
||||||
|
(use-package license-templates)
|
||||||
|
|
||||||
;; yasnippet config
|
;; yasnippet config
|
||||||
(use-package yasnippet
|
(use-package yasnippet
|
||||||
@@ -271,8 +310,8 @@
|
|||||||
(prog-mode . yas-minor-mode)
|
(prog-mode . yas-minor-mode)
|
||||||
:config
|
:config
|
||||||
(setq yas-snippet-dirs
|
(setq yas-snippet-dirs
|
||||||
'("~/.config/emacs/snippets" ;; personal
|
'((expand-file-name "snippets/" user-emacs-directory) ;; personal
|
||||||
"~/.config/emacs/work"))) ;; keep em separated
|
(expand-file-name "work/" user-emacs-directory)))) ;; keep em separated
|
||||||
|
|
||||||
;; nix
|
;; nix
|
||||||
(use-package nix-ts-mode
|
(use-package nix-ts-mode
|
||||||
@@ -291,18 +330,21 @@
|
|||||||
(use-package python
|
(use-package python
|
||||||
:defer t
|
:defer t
|
||||||
:config
|
:config
|
||||||
(setq python-flymake-command '("flake8" "-")))
|
(setq python-flymake-command '("ruff" "--quiet" "--stdin-filename=stdin" "-")))
|
||||||
|
|
||||||
;; eglot
|
;; eglot
|
||||||
(use-package eglot
|
(use-package eglot
|
||||||
:straight nil
|
:straight nil
|
||||||
:hook
|
:hook
|
||||||
(c-ts-mode . eglot-ensure)
|
(c-ts-mode . eglot-ensure)
|
||||||
|
(nix-ts-mode . eglot-ensure)
|
||||||
(python-ts-mode . eglot-ensure)
|
(python-ts-mode . eglot-ensure)
|
||||||
:config
|
:config
|
||||||
(setq eldoc-echo-area-display-truncation-message nil
|
(setq eldoc-echo-area-display-truncation-message nil
|
||||||
eldoc-echo-area-prefer-doc-buffer t
|
eldoc-echo-area-prefer-doc-buffer t
|
||||||
max-mini-window-height 2))
|
max-mini-window-height 2)
|
||||||
|
(dolist (mode '(((nix-mode nix-ts-mode) . ("nixd"))))
|
||||||
|
(add-to-list 'eglot-server-programs mode)))
|
||||||
|
|
||||||
;; treesit-auto
|
;; treesit-auto
|
||||||
(use-package treesit-auto
|
(use-package treesit-auto
|
||||||
@@ -352,15 +394,6 @@
|
|||||||
(pdf-tools-install :no-query)
|
(pdf-tools-install :no-query)
|
||||||
(require 'pdf-occur))
|
(require 'pdf-occur))
|
||||||
|
|
||||||
;; helm
|
|
||||||
(use-package helm
|
|
||||||
:config
|
|
||||||
(global-set-key (kbd "M-x") #'helm-M-x)
|
|
||||||
(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks)
|
|
||||||
(global-set-key (kbd "C-x C-f") #'helm-find-files)
|
|
||||||
(setq helm-ff-auto-update-initial-value 1)
|
|
||||||
(helm-mode 1))
|
|
||||||
|
|
||||||
;; org stuff
|
;; org stuff
|
||||||
(use-package org
|
(use-package org
|
||||||
:mode
|
:mode
|
||||||
@@ -384,7 +417,11 @@
|
|||||||
|
|
||||||
;; agenda
|
;; agenda
|
||||||
(require 'find-lisp)
|
(require 'find-lisp)
|
||||||
(setq org-directory "~/org")
|
(unless (file-exists-p "~/Documents/org")
|
||||||
|
(make-directory "~/Documents/org" t))
|
||||||
|
(setq org-directory "~/Documents/org")
|
||||||
|
(unless (file-exists-p (expand-file-name "gtd/" org-directory))
|
||||||
|
(make-directory (expand-file-name "gtd/" org-directory) t))
|
||||||
(setq chase/org-agenda-directory
|
(setq chase/org-agenda-directory
|
||||||
(expand-file-name "gtd/" org-directory))
|
(expand-file-name "gtd/" org-directory))
|
||||||
(setq org-agenda-files
|
(setq org-agenda-files
|
||||||
@@ -393,7 +430,7 @@
|
|||||||
(setq org-capture-templates
|
(setq org-capture-templates
|
||||||
'(("i" "Inbox" entry (file "gtd/inbox.org")
|
'(("i" "Inbox" entry (file "gtd/inbox.org")
|
||||||
"* TODO %?\n")
|
"* TODO %?\n")
|
||||||
("n" "Note" entry (file "~/org/inbox.org")
|
("n" "Note" entry (file "gtd/inbox.org")
|
||||||
"* %? :NOTE:\n")))
|
"* %? :NOTE:\n")))
|
||||||
|
|
||||||
;; TODO
|
;; TODO
|
||||||
@@ -416,6 +453,9 @@
|
|||||||
(add-to-list 'org-structure-template-alist '("json" . "src json"))
|
(add-to-list 'org-structure-template-alist '("json" . "src json"))
|
||||||
(add-to-list 'org-structure-template-alist '("yaml" . "src yaml"))
|
(add-to-list 'org-structure-template-alist '("yaml" . "src yaml"))
|
||||||
|
|
||||||
|
;; babel
|
||||||
|
(add-to-list 'org-babel-load-languages '(shell . t))
|
||||||
|
|
||||||
;; fix yaml fontify
|
;; fix yaml fontify
|
||||||
(add-to-list 'org-src-lang-modes '("yaml" . yaml-ts))
|
(add-to-list 'org-src-lang-modes '("yaml" . yaml-ts))
|
||||||
|
|
||||||
@@ -424,10 +464,10 @@
|
|||||||
org-export-with-section-numbers nil)
|
org-export-with-section-numbers nil)
|
||||||
|
|
||||||
;; LaTeX
|
;; LaTeX
|
||||||
(setq org-latex-compiler "xelatex")
|
;;(setq org-latex-compiler "xelatex")
|
||||||
(setq org-latex-listings 'minted
|
;;(setq org-latex-listings 'minted
|
||||||
org-latex-pdf-process
|
;;org-latex-pdf-process
|
||||||
'("latexmk -shell-escape -f -pdf -%latex -interaction=nonstopmode -output-directory=%o %f"))
|
;;'("latexmk -shell-escape -f -pdf -%latex -interaction=nonstopmode -output-directory=%o %f"))
|
||||||
|
|
||||||
(use-package evil-org
|
(use-package evil-org
|
||||||
:after org
|
:after org
|
||||||
@@ -443,8 +483,6 @@
|
|||||||
|
|
||||||
(use-package org-roam
|
(use-package org-roam
|
||||||
:after org
|
:after org
|
||||||
:custom
|
|
||||||
(org-roam-directory "~/org/roam")
|
|
||||||
:bind
|
:bind
|
||||||
(("C-c n l" . org-roam-buffer-toggle)
|
(("C-c n l" . org-roam-buffer-toggle)
|
||||||
("C-c n f" . org-roam-node-find)
|
("C-c n f" . org-roam-node-find)
|
||||||
@@ -454,6 +492,10 @@
|
|||||||
;; Dailies
|
;; Dailies
|
||||||
("C-c n j" . org-roam-dailies-capture-today))
|
("C-c n j" . org-roam-dailies-capture-today))
|
||||||
:config
|
:config
|
||||||
|
(unless (file-exists-p (expand-file-name "roam/" org-directory))
|
||||||
|
(make-directory (expand-file-name "roam/" org-directory) t))
|
||||||
|
(setq org-roam-directory
|
||||||
|
(expand-file-name "roam/" org-directory))
|
||||||
(require 'org-roam-protocol)
|
(require 'org-roam-protocol)
|
||||||
(require 'org-roam-export)
|
(require 'org-roam-export)
|
||||||
(org-roam-db-autosync-mode)
|
(org-roam-db-autosync-mode)
|
||||||
@@ -472,10 +514,10 @@
|
|||||||
(file+head "reference/${slug}.org" "#+title: ${title}\n${body}\n")
|
(file+head "reference/${slug}.org" "#+title: ${title}\n${body}\n")
|
||||||
:unnarrowed t))))
|
:unnarrowed t))))
|
||||||
|
|
||||||
(use-package org-bullets
|
(use-package org-superstar
|
||||||
:after org
|
:after org
|
||||||
:hook
|
:hook
|
||||||
(org-mode . org-bullets-mode))
|
(org-mode . org-superstar-mode))
|
||||||
|
|
||||||
(use-package org-appear
|
(use-package org-appear
|
||||||
:after org
|
:after org
|
||||||
@@ -497,9 +539,11 @@
|
|||||||
:after org)
|
:after org)
|
||||||
|
|
||||||
(use-package ox-moderncv
|
(use-package ox-moderncv
|
||||||
:after org
|
:straight nil
|
||||||
:straight
|
:load-path "~/org-cv/"
|
||||||
(org-cv :type git :host gitlab :repo "Titan-C/org-cv"))
|
;;(org-cv :type git :host gitlab :repo "Titan-C/org-cv"))
|
||||||
|
:init (require 'ox-moderncv))
|
||||||
|
|
||||||
|
|
||||||
(use-package ox-hugocv
|
(use-package ox-hugocv
|
||||||
:after org
|
:after org
|
||||||
@@ -515,11 +559,19 @@
|
|||||||
(use-package flyspell
|
(use-package flyspell
|
||||||
:defer t
|
:defer t
|
||||||
:hook
|
:hook
|
||||||
|
(markdown-mode . flyspell-mode)
|
||||||
(org-mode . flyspell-mode)
|
(org-mode . flyspell-mode)
|
||||||
:diminish flyspell-mode)
|
:diminish flyspell-mode)
|
||||||
|
|
||||||
;; enlighten flymake to the load path
|
;; flymake config
|
||||||
|
(use-package flymake
|
||||||
|
:straight nil
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
(setq elisp-flymake-byte-compile-load-path load-path)
|
(setq elisp-flymake-byte-compile-load-path load-path)
|
||||||
|
:bind (:map global-map
|
||||||
|
("M-n" . flymake-goto-next-error)
|
||||||
|
("M-p" . flymake-goto-prev-error)))
|
||||||
|
|
||||||
;; windows printer
|
;; windows printer
|
||||||
(setq ps-printer-name t)
|
(setq ps-printer-name t)
|
||||||
@@ -527,24 +579,7 @@
|
|||||||
(setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH" "-sDEVICE=mswinpr2"
|
(setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH" "-sDEVICE=mswinpr2"
|
||||||
"-sPAPERSIZE=a7"))
|
"-sPAPERSIZE=a7"))
|
||||||
|
|
||||||
;; exwm
|
(use-package emms)
|
||||||
;; (use-package exwm
|
|
||||||
;; :config
|
|
||||||
;; (add-hook 'exwm-update-class-hook
|
|
||||||
;; (lambda () (exwm-workspace-rename-buffer exwm-class-name)))
|
|
||||||
;; (setq exwm-input-global-keys
|
|
||||||
;; `(([?\s-r] . exwm-reset)
|
|
||||||
;; ([?\s-w] . exwm-workspace-switch)
|
|
||||||
;; ([?\s-&] . (lambda (cmd)
|
|
||||||
;; (interactive (list (read-shell-command "$ ")))
|
|
||||||
;; (start-process-shell-command cmd nil cmd)))
|
|
||||||
;; ,@(mapcar (lambda (i)
|
|
||||||
;; `(,(kbd (format "s-%d" i))
|
|
||||||
;; (lambda ()
|
|
||||||
;; (interactive)
|
|
||||||
;; (exwm-workspace-switch-create ,i))))
|
|
||||||
;; (number-sequence 0 9))))
|
|
||||||
;; (exwm-enable))
|
|
||||||
|
|
||||||
(provide 'init)
|
(provide 'init)
|
||||||
;;; init.el ends here
|
;;; init.el ends here
|
||||||
|
305
home/home.nix
305
home/home.nix
@@ -1,305 +0,0 @@
|
|||||||
{ config, pkgs, nur, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./plasma.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home.username = "chase";
|
|
||||||
home.homeDirectory = "/home/chase";
|
|
||||||
home.stateVersion = "24.11";
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
"scripts" = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionPath = [
|
|
||||||
"$HOME/scripts"
|
|
||||||
];
|
|
||||||
|
|
||||||
home.preferXdgDirectories = true;
|
|
||||||
|
|
||||||
xdg = {
|
|
||||||
enable = true;
|
|
||||||
userDirs.enable = true;
|
|
||||||
configFile = {
|
|
||||||
"emacs/early-init.el" = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
|
|
||||||
};
|
|
||||||
"emacs/init.el" = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
catppuccin = {
|
|
||||||
enable = true;
|
|
||||||
flavor = "mocha";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
font = {
|
|
||||||
normal = {
|
|
||||||
family = "IBM Plex Mono";
|
|
||||||
style = "Regular";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# theme = "catppuccin_mocha";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.bash = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
bashrcExtra = ''
|
|
||||||
export SSH_AUTH_SOCK=/home/chase/.bitwarden-ssh-agent.sock
|
|
||||||
'';
|
|
||||||
historyIgnore = [
|
|
||||||
"ls"
|
|
||||||
"cd"
|
|
||||||
"exit"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fastfetch = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
logo = {
|
|
||||||
source = "nixos_small";
|
|
||||||
};
|
|
||||||
display = {
|
|
||||||
size = {
|
|
||||||
binaryPrefix = "si";
|
|
||||||
};
|
|
||||||
color = "blue";
|
|
||||||
separator = ": ";
|
|
||||||
};
|
|
||||||
modules = [
|
|
||||||
"title"
|
|
||||||
"separator"
|
|
||||||
"os"
|
|
||||||
"host"
|
|
||||||
"uptime"
|
|
||||||
"kernel"
|
|
||||||
"packages"
|
|
||||||
"lm"
|
|
||||||
"de"
|
|
||||||
"wm"
|
|
||||||
"shell"
|
|
||||||
"terminal"
|
|
||||||
"terminalfont"
|
|
||||||
{
|
|
||||||
key = "Display";
|
|
||||||
type = "display";
|
|
||||||
}
|
|
||||||
"cpu"
|
|
||||||
"gpu"
|
|
||||||
"memory"
|
|
||||||
"swap"
|
|
||||||
"disk"
|
|
||||||
"datetime"
|
|
||||||
"colors"
|
|
||||||
"break"
|
|
||||||
"player"
|
|
||||||
"media"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
nativeMessagingHosts = [ pkgs.firefoxpwa ];
|
|
||||||
profiles = {
|
|
||||||
default = {
|
|
||||||
id = 0;
|
|
||||||
name = "default";
|
|
||||||
isDefault = true;
|
|
||||||
extensions = {
|
|
||||||
packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
awesome-rss
|
|
||||||
betterttv
|
|
||||||
bitwarden
|
|
||||||
clearurls
|
|
||||||
control-panel-for-twitter
|
|
||||||
enhancer-for-youtube
|
|
||||||
facebook-container
|
|
||||||
flagfox
|
|
||||||
istilldontcareaboutcookies
|
|
||||||
privacy-badger
|
|
||||||
return-youtube-dislikes
|
|
||||||
search-by-image
|
|
||||||
sponsorblock
|
|
||||||
tab-session-manager
|
|
||||||
tampermonkey
|
|
||||||
ublock-origin
|
|
||||||
];
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
"browser.formfill.enable" = false;
|
|
||||||
"browser.ml.chat.enabled" = false;
|
|
||||||
"browser.ml.chat.shortcuts" = false;
|
|
||||||
"browser.ml.chat.sidebar" = false;
|
|
||||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
|
||||||
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
|
||||||
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
|
||||||
"browser.topsites.contile.enabled" = false;
|
|
||||||
"browser.urlbar.unitConversion.enabled" = true;
|
|
||||||
"extensions.formautofill.addresses.enabled" = false;
|
|
||||||
"extensions.formautofill.creditCards.enabled" = false;
|
|
||||||
"extensions.pocket.enabled" = false;
|
|
||||||
"general.autoScroll" = true;
|
|
||||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
|
||||||
"signon.rememberSignons" = false;
|
|
||||||
};
|
|
||||||
search = {
|
|
||||||
force = true;
|
|
||||||
default = "SearX";
|
|
||||||
order = [ "SearX" "google" ];
|
|
||||||
engines = {
|
|
||||||
"Nix Packages" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://search.nixos.org/packages";
|
|
||||||
params = [
|
|
||||||
{ name = "type"; value = "packages"; }
|
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
definedAliases = [ "@np" ];
|
|
||||||
};
|
|
||||||
"SearX" = {
|
|
||||||
urls = [{ template = "https://searx.traphouse.cathoderaytube.net/?q={searchTerms}"; }];
|
|
||||||
definedAliases = [ "@searx" ];
|
|
||||||
};
|
|
||||||
"bing".metaData.hidden = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.ghostty = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
installVimSyntax = true;
|
|
||||||
settings = {
|
|
||||||
# theme = "catppuccin-mocha";
|
|
||||||
font-family = "BlexMono Nerd Font";
|
|
||||||
font-size = 11;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "chase";
|
|
||||||
userEmail = "chase@cathoderaytube.net";
|
|
||||||
extraConfig = {
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.git-credential-oauth.enable = true;
|
|
||||||
|
|
||||||
programs.htop.enable = true;
|
|
||||||
|
|
||||||
programs.mpv = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
profile = "gpu-hq";
|
|
||||||
ytdl-format = "bestvideo+bestaudio";
|
|
||||||
};
|
|
||||||
scripts = [
|
|
||||||
pkgs.mpvScripts.mpris
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.ncmpcpp = {
|
|
||||||
enable = true;
|
|
||||||
bindings = [
|
|
||||||
{ key = "h"; command = "previous_column"; }
|
|
||||||
{ key = "j"; command = "scroll_down"; }
|
|
||||||
{ key = "k"; command = "scroll_up"; }
|
|
||||||
{ key = "l"; command = "next_column"; }
|
|
||||||
];
|
|
||||||
settings = {
|
|
||||||
media_library_primary_tag = "album_artist";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.obs-studio.enable = true;
|
|
||||||
|
|
||||||
programs.ranger.enable = true;
|
|
||||||
|
|
||||||
programs.rmpc = {
|
|
||||||
enable = true;
|
|
||||||
config = ''
|
|
||||||
(
|
|
||||||
album_art: (
|
|
||||||
method: Auto,
|
|
||||||
max_size_px: (width: 1200, height: 1200),
|
|
||||||
disabled_protocols: ["http://", "https://"],
|
|
||||||
vertical_align: Center,
|
|
||||||
horizontal_align: Center,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.texlive.enable = true;
|
|
||||||
|
|
||||||
programs.yt-dlp = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
embed-thumbnail = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
audacity
|
|
||||||
anki-bin
|
|
||||||
ffmpeg
|
|
||||||
gimp
|
|
||||||
ibm-plex
|
|
||||||
imagemagick
|
|
||||||
kdePackages.kdenlive
|
|
||||||
libnotify
|
|
||||||
libreoffice
|
|
||||||
logiops
|
|
||||||
nerd-fonts.blex-mono
|
|
||||||
picard
|
|
||||||
protonmail-bridge
|
|
||||||
thunderbird
|
|
||||||
ueberzugpp
|
|
||||||
runelite
|
|
||||||
];
|
|
||||||
|
|
||||||
services.mako.enable = true;
|
|
||||||
|
|
||||||
services.mpd = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
audio_output {
|
|
||||||
type "pipewire"
|
|
||||||
name "Pipewire Output"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
musicDirectory = "/mnt/share/media/music";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.mpd-mpris = {
|
|
||||||
enable = true;
|
|
||||||
mpd.useLocal = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
222
home/hypr.nix
Normal file
222
home/hypr.nix
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
catppuccin = {
|
||||||
|
waybar = {
|
||||||
|
enable = false;
|
||||||
|
# flavor = "mocha";
|
||||||
|
# mode = "createLink";
|
||||||
|
};
|
||||||
|
hyprland = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
target = "hyprland-session.target";
|
||||||
|
};
|
||||||
|
style = ./waybar.css;
|
||||||
|
settings = [{
|
||||||
|
"layer" = "top";
|
||||||
|
"position" = "top";
|
||||||
|
modules-left = [
|
||||||
|
"custom/launcher"
|
||||||
|
"temperature"
|
||||||
|
"mpd"
|
||||||
|
];
|
||||||
|
modules-center = [
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
modules-right = [
|
||||||
|
"pulseaudio"
|
||||||
|
"backlight"
|
||||||
|
"memory"
|
||||||
|
"cpu"
|
||||||
|
"network"
|
||||||
|
"custom/powermenu"
|
||||||
|
"tray"
|
||||||
|
];
|
||||||
|
"custom/launcher" = {
|
||||||
|
"format" = " ";
|
||||||
|
"on-click" = "pkill rofi || rofi2";
|
||||||
|
"on-click-middle" = "exec default_wall";
|
||||||
|
"on-click-right" = "exec wallpaper_random";
|
||||||
|
"tooltip" = false;
|
||||||
|
};
|
||||||
|
"pulseaudio" = {
|
||||||
|
"scroll-step" = 1;
|
||||||
|
"format" = "{icon} {volume}%";
|
||||||
|
"format-muted" = " Muted";
|
||||||
|
"format-icons" = {
|
||||||
|
"default" = [ "" "" "" ];
|
||||||
|
};
|
||||||
|
"on-click" = "pamixer -t";
|
||||||
|
"tooltip" = false;
|
||||||
|
};
|
||||||
|
"clock" = {
|
||||||
|
"interval" = 1;
|
||||||
|
"format" = "{:%H:%M}";
|
||||||
|
"tooltip" = true;
|
||||||
|
"tooltip-format"= "{:%Y-%m-%d}\n<tt>{calendar}</tt>";
|
||||||
|
};
|
||||||
|
"memory" = {
|
||||||
|
"interval" = 1;
|
||||||
|
"format" = " {percentage}%";
|
||||||
|
"states" = {
|
||||||
|
"warning" = 85;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"cpu" = {
|
||||||
|
"interval" = 1;
|
||||||
|
"format" = " {usage}%";
|
||||||
|
};
|
||||||
|
"mpd" = {
|
||||||
|
"max-length" = 25;
|
||||||
|
"format" = "<span foreground='#bb9af7'></span> {title}";
|
||||||
|
"format-paused" = " {title}";
|
||||||
|
"format-stopped" = "<span foreground='#bb9af7'></span>";
|
||||||
|
"format-disconnected" = "";
|
||||||
|
"on-click" = "rmpc togglepause";
|
||||||
|
"on-click-right" = "rmpc update";
|
||||||
|
"on-click-middle" = "kitty --class='rmpc' rmpc ";
|
||||||
|
"on-scroll-up" = "rmpc prev";
|
||||||
|
"on-scroll-down" = "rmpc next";
|
||||||
|
"smooth-scrolling-threshold" = 5;
|
||||||
|
"tooltip-format" = "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})";
|
||||||
|
};
|
||||||
|
"network" = {
|
||||||
|
"format-disconnected" = "";
|
||||||
|
"format-ethernet" = "";
|
||||||
|
"format-linked" = " {essid} (No IP)";
|
||||||
|
"format-wifi" = " {essid}";
|
||||||
|
"interval" = 1;
|
||||||
|
"tooltip" = false;
|
||||||
|
};
|
||||||
|
"custom/powermenu" = {
|
||||||
|
"format" = "";
|
||||||
|
"on-click" = "pkill rofi || ~/.config/rofi/powermenu/type-3/powermenu.sh";
|
||||||
|
"tooltip" = false;
|
||||||
|
};
|
||||||
|
"tray" = {
|
||||||
|
"icon-size" = 15;
|
||||||
|
"spacing" = 5;
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
disable_loading_bar = true;
|
||||||
|
grace = 3;
|
||||||
|
hide_cursor = true;
|
||||||
|
no_fade_in = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
background = [
|
||||||
|
{
|
||||||
|
path = "screenshot";
|
||||||
|
blur_passes = 3;
|
||||||
|
blur_size = 8;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
size = "200, 50";
|
||||||
|
position = "0, -80";
|
||||||
|
monitor = "";
|
||||||
|
dots_center = true;
|
||||||
|
fade_on_empty = false;
|
||||||
|
font_color = "rgb(202, 211, 245)";
|
||||||
|
inner_color = "rgb(91, 96, 120)";
|
||||||
|
outer_color = "rgb(24, 25, 38)";
|
||||||
|
outline_thickness = 5;
|
||||||
|
placeholder_text = "Enter password...";
|
||||||
|
shadow_passes = 2;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
brightnessctl
|
||||||
|
helvum
|
||||||
|
];
|
||||||
|
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
lock_cmd = "pidof hyprlock || hyprlock";
|
||||||
|
before_sleep_cmd = "loginctl lock-session";
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
ignore_dbus_inhibit = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 600;
|
||||||
|
on-timeout = "loginctl lock-session";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 900;
|
||||||
|
on-timeout = "hyprctl dispatch dpms off";
|
||||||
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.hyprpolkitagent.enable = true;
|
||||||
|
|
||||||
|
services.hyprsunset.enable = true;
|
||||||
|
|
||||||
|
services.hyprpaper = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preload = ["/home/chase/nix-config/home/wallpaper.jpg"];
|
||||||
|
wallpaper = ["/home/chase/nix-config/home/wallpaper.jpg"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mako = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
actions = true;
|
||||||
|
anchor = "top-right";
|
||||||
|
background-color = "#1e1e2e";
|
||||||
|
border-color = "#cba6f7";
|
||||||
|
border-radius = 0;
|
||||||
|
default-timeout = 0;
|
||||||
|
font = "monospace 10";
|
||||||
|
height = 100;
|
||||||
|
width = 300;
|
||||||
|
icons = true;
|
||||||
|
ignore-timeout = false;
|
||||||
|
layer = "top";
|
||||||
|
margin = 10;
|
||||||
|
markup = true;
|
||||||
|
|
||||||
|
# Section example
|
||||||
|
"actionable=true" = {
|
||||||
|
anchor = "top-right";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.network-manager-applet.enable = true;
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = false;
|
||||||
|
# package = null;
|
||||||
|
# portalPackage = null;
|
||||||
|
systemd.enable = true;
|
||||||
|
};
|
||||||
|
}
|
453
home/plasma.nix
453
home/plasma.nix
@@ -1,327 +1,140 @@
|
|||||||
{
|
{
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
enable = true;
|
enable = true;
|
||||||
shortcuts = {
|
fonts = {
|
||||||
"ActivityManager"."switch-to-activity-0fb1d4a1-96e6-4dfd-909a-04b78f1e3845" = [ ];
|
fixedWidth = {
|
||||||
"KDE Keyboard Layout Switcher"."Switch keyboard layout to English (US)" = [ ];
|
family = "BlexMono Nerd Font";
|
||||||
"KDE Keyboard Layout Switcher"."Switch keyboard layout to Japanese" = [ ];
|
pointSize = 11;
|
||||||
"KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L";
|
|
||||||
"KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K";
|
|
||||||
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
|
||||||
"kcm_touchpad"."Disable Touchpad" = "Touchpad Off";
|
|
||||||
"kcm_touchpad"."Enable Touchpad" = "Touchpad On";
|
|
||||||
"kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku,Touchpad Toggle" "Touchpad Toggle" "Meta+Ctrl+Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
|
|
||||||
"kmix"."decrease_microphone_volume" = "Microphone Volume Down";
|
|
||||||
"kmix"."decrease_volume" = "Volume Down";
|
|
||||||
"kmix"."decrease_volume_small" = "Shift+Volume Down";
|
|
||||||
"kmix"."increase_microphone_volume" = "Microphone Volume Up";
|
|
||||||
"kmix"."increase_volume" = "Volume Up";
|
|
||||||
"kmix"."increase_volume_small" = "Shift+Volume Up";
|
|
||||||
"kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute,Microphone Mute" "Meta+Volume Mute,Mute Microphone"];
|
|
||||||
"kmix"."mute" = "Volume Mute";
|
|
||||||
"ksmserver"."Halt Without Confirmation" = "none,,Shut Down Without Confirmation";
|
|
||||||
"ksmserver"."Lock Session" = ["Meta+L" "Screensaver,Meta+L" "Screensaver,Lock Session"];
|
|
||||||
"ksmserver"."Log Out" = "Ctrl+Alt+Del";
|
|
||||||
"ksmserver"."Log Out Without Confirmation" = "none,,Log Out Without Confirmation";
|
|
||||||
"ksmserver"."LogOut" = "none,,Log Out";
|
|
||||||
"ksmserver"."Reboot" = "none,,Reboot";
|
|
||||||
"ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation";
|
|
||||||
"ksmserver"."Shut Down" = "none,,Shut Down";
|
|
||||||
"kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
|
||||||
"kwin"."Cycle Overview" = [ ];
|
|
||||||
"kwin"."Cycle Overview Opposite" = [ ];
|
|
||||||
"kwin"."Decrease Opacity" = "none,,Decrease Opacity of Active Window by 5%";
|
|
||||||
"kwin"."Edit Tiles" = "Meta+T";
|
|
||||||
"kwin"."Expose" = "Ctrl+F9";
|
|
||||||
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"];
|
|
||||||
"kwin"."ExposeClass" = "Ctrl+F7";
|
|
||||||
"kwin"."ExposeClassCurrentDesktop" = [ ];
|
|
||||||
"kwin"."Grid View" = "Meta+G";
|
|
||||||
"kwin"."Increase Opacity" = "none,,Increase Opacity of Active Window by 5%";
|
|
||||||
"kwin"."Kill Window" = "Meta+Ctrl+Esc";
|
|
||||||
"kwin"."Move Tablet to Next Output" = [ ];
|
|
||||||
"kwin"."MoveMouseToCenter" = "Meta+F6";
|
|
||||||
"kwin"."MoveMouseToFocus" = "Meta+F5";
|
|
||||||
"kwin"."MoveZoomDown" = [ ];
|
|
||||||
"kwin"."MoveZoomLeft" = [ ];
|
|
||||||
"kwin"."MoveZoomRight" = [ ];
|
|
||||||
"kwin"."MoveZoomUp" = [ ];
|
|
||||||
"kwin"."Overview" = "Meta+W";
|
|
||||||
"kwin"."Setup Window Shortcut" = "none,,Setup Window Shortcut";
|
|
||||||
"kwin"."Show Desktop" = "Meta+D";
|
|
||||||
"kwin"."Switch One Desktop Down" = "Meta+Ctrl+Down";
|
|
||||||
"kwin"."Switch One Desktop Up" = "Meta+Ctrl+Up";
|
|
||||||
"kwin"."Switch One Desktop to the Left" = "Meta+Ctrl+Left";
|
|
||||||
"kwin"."Switch One Desktop to the Right" = "Meta+Ctrl+Right";
|
|
||||||
"kwin"."Switch Window Down" = "Meta+Alt+Down";
|
|
||||||
"kwin"."Switch Window Left" = "Meta+Alt+Left";
|
|
||||||
"kwin"."Switch Window Right" = "Meta+Alt+Right";
|
|
||||||
"kwin"."Switch Window Up" = "Meta+Alt+Up";
|
|
||||||
"kwin"."Switch to Desktop 1" = "Ctrl+F1";
|
|
||||||
"kwin"."Switch to Desktop 10" = "none,,Switch to Desktop 10";
|
|
||||||
"kwin"."Switch to Desktop 11" = "none,,Switch to Desktop 11";
|
|
||||||
"kwin"."Switch to Desktop 12" = "none,,Switch to Desktop 12";
|
|
||||||
"kwin"."Switch to Desktop 13" = "none,,Switch to Desktop 13";
|
|
||||||
"kwin"."Switch to Desktop 14" = "none,,Switch to Desktop 14";
|
|
||||||
"kwin"."Switch to Desktop 15" = "none,,Switch to Desktop 15";
|
|
||||||
"kwin"."Switch to Desktop 16" = "none,,Switch to Desktop 16";
|
|
||||||
"kwin"."Switch to Desktop 17" = "none,,Switch to Desktop 17";
|
|
||||||
"kwin"."Switch to Desktop 18" = "none,,Switch to Desktop 18";
|
|
||||||
"kwin"."Switch to Desktop 19" = "none,,Switch to Desktop 19";
|
|
||||||
"kwin"."Switch to Desktop 2" = "Ctrl+F2";
|
|
||||||
"kwin"."Switch to Desktop 20" = "none,,Switch to Desktop 20";
|
|
||||||
"kwin"."Switch to Desktop 3" = "Ctrl+F3";
|
|
||||||
"kwin"."Switch to Desktop 4" = "Ctrl+F4";
|
|
||||||
"kwin"."Switch to Desktop 5" = "none,,Switch to Desktop 5";
|
|
||||||
"kwin"."Switch to Desktop 6" = "none,,Switch to Desktop 6";
|
|
||||||
"kwin"."Switch to Desktop 7" = "none,,Switch to Desktop 7";
|
|
||||||
"kwin"."Switch to Desktop 8" = "none,,Switch to Desktop 8";
|
|
||||||
"kwin"."Switch to Desktop 9" = "none,,Switch to Desktop 9";
|
|
||||||
"kwin"."Switch to Next Desktop" = "none,,Switch to Next Desktop";
|
|
||||||
"kwin"."Switch to Next Screen" = "none,,Switch to Next Screen";
|
|
||||||
"kwin"."Switch to Previous Desktop" = "none,,Switch to Previous Desktop";
|
|
||||||
"kwin"."Switch to Previous Screen" = "none,,Switch to Previous Screen";
|
|
||||||
"kwin"."Switch to Screen 0" = "none,,Switch to Screen 0";
|
|
||||||
"kwin"."Switch to Screen 1" = "none,,Switch to Screen 1";
|
|
||||||
"kwin"."Switch to Screen 2" = "none,,Switch to Screen 2";
|
|
||||||
"kwin"."Switch to Screen 3" = "none,,Switch to Screen 3";
|
|
||||||
"kwin"."Switch to Screen 4" = "none,,Switch to Screen 4";
|
|
||||||
"kwin"."Switch to Screen 5" = "none,,Switch to Screen 5";
|
|
||||||
"kwin"."Switch to Screen 6" = "none,,Switch to Screen 6";
|
|
||||||
"kwin"."Switch to Screen 7" = "none,,Switch to Screen 7";
|
|
||||||
"kwin"."Switch to Screen Above" = "none,,Switch to Screen Above";
|
|
||||||
"kwin"."Switch to Screen Below" = "none,,Switch to Screen Below";
|
|
||||||
"kwin"."Switch to Screen to the Left" = "none,,Switch to Screen to the Left";
|
|
||||||
"kwin"."Switch to Screen to the Right" = "none,,Switch to Screen to the Right";
|
|
||||||
"kwin"."Toggle Night Color" = [ ];
|
|
||||||
"kwin"."Toggle Window Raise/Lower" = "none,,Toggle Window Raise/Lower";
|
|
||||||
"kwin"."Walk Through Windows" = "Alt+Tab";
|
|
||||||
"kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
|
||||||
"kwin"."Walk Through Windows Alternative" = "none,,Walk Through Windows Alternative";
|
|
||||||
"kwin"."Walk Through Windows Alternative (Reverse)" = "none,,Walk Through Windows Alternative (Reverse)";
|
|
||||||
"kwin"."Walk Through Windows of Current Application" = "Alt+`";
|
|
||||||
"kwin"."Walk Through Windows of Current Application (Reverse)" = "Alt+~";
|
|
||||||
"kwin"."Walk Through Windows of Current Application Alternative" = "none,,Walk Through Windows of Current Application Alternative";
|
|
||||||
"kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = "none,,Walk Through Windows of Current Application Alternative (Reverse)";
|
|
||||||
"kwin"."Window Above Other Windows" = "none,,Keep Window Above Others";
|
|
||||||
"kwin"."Window Below Other Windows" = "none,,Keep Window Below Others";
|
|
||||||
"kwin"."Window Close" = "Alt+F4";
|
|
||||||
"kwin"."Window Custom Quick Tile Bottom" = "none,,Custom Quick Tile Window to the Bottom";
|
|
||||||
"kwin"."Window Custom Quick Tile Left" = "none,,Custom Quick Tile Window to the Left";
|
|
||||||
"kwin"."Window Custom Quick Tile Right" = "none,,Custom Quick Tile Window to the Right";
|
|
||||||
"kwin"."Window Custom Quick Tile Top" = "none,,Custom Quick Tile Window to the Top";
|
|
||||||
"kwin"."Window Fullscreen" = "none,,Make Window Fullscreen";
|
|
||||||
"kwin"."Window Grow Horizontal" = "none,,Expand Window Horizontally";
|
|
||||||
"kwin"."Window Grow Vertical" = "none,,Expand Window Vertically";
|
|
||||||
"kwin"."Window Lower" = "none,,Lower Window";
|
|
||||||
"kwin"."Window Maximize" = "Meta+PgUp";
|
|
||||||
"kwin"."Window Maximize Horizontal" = "none,,Maximize Window Horizontally";
|
|
||||||
"kwin"."Window Maximize Vertical" = "none,,Maximize Window Vertically";
|
|
||||||
"kwin"."Window Minimize" = "Meta+PgDown";
|
|
||||||
"kwin"."Window Move" = "none,,Move Window";
|
|
||||||
"kwin"."Window Move Center" = "none,,Move Window to the Center";
|
|
||||||
"kwin"."Window No Border" = "none,,Toggle Window Titlebar and Frame";
|
|
||||||
"kwin"."Window On All Desktops" = "none,,Keep Window on All Desktops";
|
|
||||||
"kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
|
|
||||||
"kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
|
|
||||||
"kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
|
|
||||||
"kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
|
|
||||||
"kwin"."Window One Screen Down" = "none,,Move Window One Screen Down";
|
|
||||||
"kwin"."Window One Screen Up" = "none,,Move Window One Screen Up";
|
|
||||||
"kwin"."Window One Screen to the Left" = "none,,Move Window One Screen to the Left";
|
|
||||||
"kwin"."Window One Screen to the Right" = "none,,Move Window One Screen to the Right";
|
|
||||||
"kwin"."Window Operations Menu" = "Alt+F3";
|
|
||||||
"kwin"."Window Pack Down" = "none,,Move Window Down";
|
|
||||||
"kwin"."Window Pack Left" = "none,,Move Window Left";
|
|
||||||
"kwin"."Window Pack Right" = "none,,Move Window Right";
|
|
||||||
"kwin"."Window Pack Up" = "none,,Move Window Up";
|
|
||||||
"kwin"."Window Quick Tile Bottom" = "Meta+Down";
|
|
||||||
"kwin"."Window Quick Tile Bottom Left" = "none,,Quick Tile Window to the Bottom Left";
|
|
||||||
"kwin"."Window Quick Tile Bottom Right" = "none,,Quick Tile Window to the Bottom Right";
|
|
||||||
"kwin"."Window Quick Tile Left" = "Meta+Left";
|
|
||||||
"kwin"."Window Quick Tile Right" = "Meta+Right";
|
|
||||||
"kwin"."Window Quick Tile Top" = "Meta+Up";
|
|
||||||
"kwin"."Window Quick Tile Top Left" = "none,,Quick Tile Window to the Top Left";
|
|
||||||
"kwin"."Window Quick Tile Top Right" = "none,,Quick Tile Window to the Top Right";
|
|
||||||
"kwin"."Window Raise" = "none,,Raise Window";
|
|
||||||
"kwin"."Window Resize" = "none,,Resize Window";
|
|
||||||
"kwin"."Window Shade" = "none,,Shade Window";
|
|
||||||
"kwin"."Window Shrink Horizontal" = "none,,Shrink Window Horizontally";
|
|
||||||
"kwin"."Window Shrink Vertical" = "none,,Shrink Window Vertically";
|
|
||||||
"kwin"."Window to Desktop 1" = "none,,Window to Desktop 1";
|
|
||||||
"kwin"."Window to Desktop 10" = "none,,Window to Desktop 10";
|
|
||||||
"kwin"."Window to Desktop 11" = "none,,Window to Desktop 11";
|
|
||||||
"kwin"."Window to Desktop 12" = "none,,Window to Desktop 12";
|
|
||||||
"kwin"."Window to Desktop 13" = "none,,Window to Desktop 13";
|
|
||||||
"kwin"."Window to Desktop 14" = "none,,Window to Desktop 14";
|
|
||||||
"kwin"."Window to Desktop 15" = "none,,Window to Desktop 15";
|
|
||||||
"kwin"."Window to Desktop 16" = "none,,Window to Desktop 16";
|
|
||||||
"kwin"."Window to Desktop 17" = "none,,Window to Desktop 17";
|
|
||||||
"kwin"."Window to Desktop 18" = "none,,Window to Desktop 18";
|
|
||||||
"kwin"."Window to Desktop 19" = "none,,Window to Desktop 19";
|
|
||||||
"kwin"."Window to Desktop 2" = "none,,Window to Desktop 2";
|
|
||||||
"kwin"."Window to Desktop 20" = "none,,Window to Desktop 20";
|
|
||||||
"kwin"."Window to Desktop 3" = "none,,Window to Desktop 3";
|
|
||||||
"kwin"."Window to Desktop 4" = "none,,Window to Desktop 4";
|
|
||||||
"kwin"."Window to Desktop 5" = "none,,Window to Desktop 5";
|
|
||||||
"kwin"."Window to Desktop 6" = "none,,Window to Desktop 6";
|
|
||||||
"kwin"."Window to Desktop 7" = "none,,Window to Desktop 7";
|
|
||||||
"kwin"."Window to Desktop 8" = "none,,Window to Desktop 8";
|
|
||||||
"kwin"."Window to Desktop 9" = "none,,Window to Desktop 9";
|
|
||||||
"kwin"."Window to Next Desktop" = "none,,Window to Next Desktop";
|
|
||||||
"kwin"."Window to Next Screen" = "Meta+Shift+Right";
|
|
||||||
"kwin"."Window to Previous Desktop" = "none,,Window to Previous Desktop";
|
|
||||||
"kwin"."Window to Previous Screen" = "Meta+Shift+Left";
|
|
||||||
"kwin"."Window to Screen 0" = "none,,Move Window to Screen 0";
|
|
||||||
"kwin"."Window to Screen 1" = "none,,Move Window to Screen 1";
|
|
||||||
"kwin"."Window to Screen 2" = "none,,Move Window to Screen 2";
|
|
||||||
"kwin"."Window to Screen 3" = "none,,Move Window to Screen 3";
|
|
||||||
"kwin"."Window to Screen 4" = "none,,Move Window to Screen 4";
|
|
||||||
"kwin"."Window to Screen 5" = "none,,Move Window to Screen 5";
|
|
||||||
"kwin"."Window to Screen 6" = "none,,Move Window to Screen 6";
|
|
||||||
"kwin"."Window to Screen 7" = "none,,Move Window to Screen 7";
|
|
||||||
"kwin"."disableInputCapture" = "Meta+Shift+Esc";
|
|
||||||
"kwin"."view_actual_size" = "Meta+0";
|
|
||||||
"kwin"."view_zoom_in" = ["Meta++" "Meta+=,Meta++" "Meta+=,Zoom In"];
|
|
||||||
"kwin"."view_zoom_out" = "Meta+-";
|
|
||||||
"mediacontrol"."mediavolumedown" = "none,,Media volume down";
|
|
||||||
"mediacontrol"."mediavolumeup" = "none,,Media volume up";
|
|
||||||
"mediacontrol"."nextmedia" = "Media Next";
|
|
||||||
"mediacontrol"."pausemedia" = "Media Pause";
|
|
||||||
"mediacontrol"."playmedia" = "none,,Play media playback";
|
|
||||||
"mediacontrol"."playpausemedia" = "Media Play";
|
|
||||||
"mediacontrol"."previousmedia" = "Media Previous";
|
|
||||||
"mediacontrol"."stopmedia" = "Media Stop";
|
|
||||||
"org_kde_powerdevil"."Decrease Keyboard Brightness" = "Keyboard Brightness Down";
|
|
||||||
"org_kde_powerdevil"."Decrease Screen Brightness" = "Monitor Brightness Down";
|
|
||||||
"org_kde_powerdevil"."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down";
|
|
||||||
"org_kde_powerdevil"."Hibernate" = "Hibernate";
|
|
||||||
"org_kde_powerdevil"."Increase Keyboard Brightness" = "Keyboard Brightness Up";
|
|
||||||
"org_kde_powerdevil"."Increase Screen Brightness" = "Monitor Brightness Up";
|
|
||||||
"org_kde_powerdevil"."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up";
|
|
||||||
"org_kde_powerdevil"."PowerDown" = "Power Down";
|
|
||||||
"org_kde_powerdevil"."PowerOff" = "Power Off";
|
|
||||||
"org_kde_powerdevil"."Sleep" = "Sleep";
|
|
||||||
"org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off";
|
|
||||||
"org_kde_powerdevil"."Turn Off Screen" = [ ];
|
|
||||||
"org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B,Battery" "Meta+B,Switch Power Profile"];
|
|
||||||
"plasmashell"."activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"];
|
|
||||||
"plasmashell"."activate task manager entry 1" = "Meta+1";
|
|
||||||
"plasmashell"."activate task manager entry 10" = "none,,Activate Task Manager Entry 10";
|
|
||||||
"plasmashell"."activate task manager entry 2" = "Meta+2";
|
|
||||||
"plasmashell"."activate task manager entry 3" = "Meta+3";
|
|
||||||
"plasmashell"."activate task manager entry 4" = "Meta+4";
|
|
||||||
"plasmashell"."activate task manager entry 5" = "Meta+5";
|
|
||||||
"plasmashell"."activate task manager entry 6" = "Meta+6";
|
|
||||||
"plasmashell"."activate task manager entry 7" = "Meta+7";
|
|
||||||
"plasmashell"."activate task manager entry 8" = "Meta+8";
|
|
||||||
"plasmashell"."activate task manager entry 9" = "Meta+9";
|
|
||||||
"plasmashell"."clear-history" = "none,,Clear Clipboard History";
|
|
||||||
"plasmashell"."clipboard_action" = "Meta+Ctrl+X";
|
|
||||||
"plasmashell"."cycle-panels" = "Meta+Alt+P";
|
|
||||||
"plasmashell"."cycleNextAction" = "none,,Next History Item";
|
|
||||||
"plasmashell"."cyclePrevAction" = "none,,Previous History Item";
|
|
||||||
"plasmashell"."manage activities" = "Meta+Q";
|
|
||||||
"plasmashell"."next activity" = "Meta+A,none,Walk through activities";
|
|
||||||
"plasmashell"."previous activity" = "Meta+Shift+A,none,Walk through activities (Reverse)";
|
|
||||||
"plasmashell"."repeat_action" = "none,,Manually Invoke Action on Current Clipboard";
|
|
||||||
"plasmashell"."show dashboard" = "Ctrl+F12";
|
|
||||||
"plasmashell"."show-barcode" = "none,,Show Barcode…";
|
|
||||||
"plasmashell"."show-on-mouse-pos" = "Meta+V";
|
|
||||||
"plasmashell"."stop current activity" = "Meta+S";
|
|
||||||
"plasmashell"."switch to next activity" = "none,,Switch to Next Activity";
|
|
||||||
"plasmashell"."switch to previous activity" = "none,,Switch to Previous Activity";
|
|
||||||
"plasmashell"."toggle do not disturb" = "none,,Toggle do not disturb";
|
|
||||||
"services/org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Search" "Alt+F2" "Meta+Space"];
|
|
||||||
};
|
};
|
||||||
configFile = {
|
general = {
|
||||||
"baloofilerc"."General"."dbVersion" = 2;
|
family = "IBM Plex Sans";
|
||||||
"baloofilerc"."General"."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found";
|
pointSize = 11;
|
||||||
"baloofilerc"."General"."exclude filters version" = 9;
|
};
|
||||||
"dolphinrc"."General"."ViewPropsTimestamp" = "2025,4,28,12,11,21.343";
|
menu = {
|
||||||
"dolphinrc"."KFileDialog Settings"."Places Icons Auto-resize" = false;
|
family = "IBM Plex Sans";
|
||||||
"dolphinrc"."KFileDialog Settings"."Places Icons Static Size" = 22;
|
pointSize = 11;
|
||||||
"kactivitymanagerdrc"."activities"."0fb1d4a1-96e6-4dfd-909a-04b78f1e3845" = "Default";
|
};
|
||||||
"kactivitymanagerdrc"."main"."currentActivity" = "0fb1d4a1-96e6-4dfd-909a-04b78f1e3845";
|
small = {
|
||||||
"kcminputrc"."Libinput/1739/52839/SYNA0001:00 06CB:CE67 Mouse"."PointerAccelerationProfile" = 1;
|
family = "IBM Plex Sans";
|
||||||
"kcminputrc"."Libinput/1739/52839/SYNA0001:00 06CB:CE67 Touchpad"."NaturalScroll" = true;
|
pointSize = 8;
|
||||||
"kded5rc"."Module-browserintegrationreminder"."autoload" = false;
|
};
|
||||||
"kded5rc"."Module-device_automounter"."autoload" = false;
|
toolbar = {
|
||||||
"kdeglobals"."General"."XftHintStyle" = "hintslight";
|
family = "IBM Plex Sans";
|
||||||
"kdeglobals"."General"."XftSubPixel" = "none";
|
pointSize = 11;
|
||||||
"kdeglobals"."General"."fixed" = "BlexMono Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
|
};
|
||||||
"kdeglobals"."General"."font" = "IBM Plex Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
|
windowTitle = {
|
||||||
"kdeglobals"."General"."menuFont" = "IBM Plex Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
|
family = "IBM Plex Sans";
|
||||||
"kdeglobals"."General"."smallestReadableFont" = "IBM Plex Sans,8,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
|
pointSize = 11;
|
||||||
"kdeglobals"."General"."toolBarFont" = "IBM Plex Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
|
};
|
||||||
"kdeglobals"."KFileDialog Settings"."Allow Expansion" = false;
|
};
|
||||||
"kdeglobals"."KFileDialog Settings"."Automatically select filename extension" = true;
|
krunner = {
|
||||||
"kdeglobals"."KFileDialog Settings"."Breadcrumb Navigation" = true;
|
historyBehavior = "disabled";
|
||||||
"kdeglobals"."KFileDialog Settings"."Decoration position" = 2;
|
position = "center";
|
||||||
"kdeglobals"."KFileDialog Settings"."LocationCombo Completionmode" = 5;
|
shortcuts.launch = "Meta+Space";
|
||||||
"kdeglobals"."KFileDialog Settings"."PathCombo Completionmode" = 5;
|
};
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Bookmarks" = false;
|
kscreenlocker = {
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Full Path" = false;
|
appearance.wallpaper = "/home/chase/nix-config/home/wallpaper.jpg";
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Inline Previews" = true;
|
};
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Preview" = false;
|
kwin = {
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Speedbar" = true;
|
effects = {
|
||||||
"kdeglobals"."KFileDialog Settings"."Show hidden files" = false;
|
desktopSwitching.animation = "slide";
|
||||||
"kdeglobals"."KFileDialog Settings"."Sort by" = "Name";
|
minimization.animation = "squash";
|
||||||
"kdeglobals"."KFileDialog Settings"."Sort directories first" = true;
|
shakeCursor.enable = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Sort hidden files last" = false;
|
};
|
||||||
"kdeglobals"."KFileDialog Settings"."Sort reversed" = false;
|
nightLight = {
|
||||||
"kdeglobals"."KFileDialog Settings"."Speedbar Width" = 140;
|
enable = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."View Style" = "DetailTree";
|
location = {
|
||||||
"kdeglobals"."WM"."activeBackground" = "49,54,59";
|
latitude = "39.70"; # not my house xD
|
||||||
"kdeglobals"."WM"."activeBlend" = "252,252,252";
|
longitude = "-86.15";
|
||||||
"kdeglobals"."WM"."activeFont" = "IBM Plex Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
|
};
|
||||||
"kdeglobals"."WM"."activeForeground" = "252,252,252";
|
mode = "location";
|
||||||
"kdeglobals"."WM"."inactiveBackground" = "42,46,50";
|
temperature = {
|
||||||
"kdeglobals"."WM"."inactiveBlend" = "161,169,177";
|
day = null;
|
||||||
"kdeglobals"."WM"."inactiveForeground" = "161,169,177";
|
night = 4000;
|
||||||
"krunnerrc"."General"."FreeFloating" = true;
|
};
|
||||||
"krunnerrc"."Plugins"."browserhistoryEnabled" = false;
|
transitionTime = 15;
|
||||||
"krunnerrc"."Plugins"."browsertabsEnabled" = false;
|
};
|
||||||
"krunnerrc"."Plugins"."krunner_appstreamEnabled" = false;
|
virtualDesktops = {
|
||||||
"krunnerrc"."Plugins"."krunner_bookmarksrunnerEnabled" = false;
|
names = [
|
||||||
"krunnerrc"."Plugins"."krunner_dictionaryEnabled" = false;
|
"一"
|
||||||
"krunnerrc"."Plugins"."krunner_katesessionsEnabled" = false;
|
"二"
|
||||||
"krunnerrc"."Plugins"."krunner_konsoleprofilesEnabled" = false;
|
"三"
|
||||||
"krunnerrc"."Plugins"."krunner_sessionsEnabled" = false;
|
"四"
|
||||||
"krunnerrc"."Plugins"."krunner_spellcheckEnabled" = false;
|
"五"
|
||||||
"krunnerrc"."Plugins"."org.kde.activities2Enabled" = false;
|
];
|
||||||
"krunnerrc"."Plugins/Favorites"."plugins" = "krunner_services,krunner_systemsettings,unitconverter";
|
number = 5;
|
||||||
"kuriikwsfilterrc"."General"."DefaultWebShortcut" = "duckduckgo";
|
rows = 1;
|
||||||
"kuriikwsfilterrc"."General"."EnableWebShortcuts" = true;
|
};
|
||||||
"kuriikwsfilterrc"."General"."KeywordDelimiter" = ":";
|
};
|
||||||
"kuriikwsfilterrc"."General"."PreferredWebShortcuts" = "wikit,wikipedia,youtube";
|
panels = [
|
||||||
"kuriikwsfilterrc"."General"."UsePreferredWebShortcutsOnly" = false;
|
{
|
||||||
"kwalletrc"."Wallet"."First Use" = false;
|
floating = false;
|
||||||
"kwinrc"."Activities/LastVirtualDesktop"."0fb1d4a1-96e6-4dfd-909a-04b78f1e3845" = "a140557c-77d1-4905-9d1c-3f7308b7aebd";
|
height = 32;
|
||||||
"kwinrc"."Desktops"."Id_1" = "6d7bbeb1-6928-4f68-8c3b-7cbf20b2e2ce";
|
hiding = "none";
|
||||||
"kwinrc"."Desktops"."Id_2" = "a140557c-77d1-4905-9d1c-3f7308b7aebd";
|
lengthMode = "fill";
|
||||||
"kwinrc"."Desktops"."Id_3" = "4e659bf3-b29d-4155-99fd-65c56d9fcf32";
|
location = "top";
|
||||||
"kwinrc"."Desktops"."Number" = 3;
|
opacity = "opaque";
|
||||||
"kwinrc"."Desktops"."Rows" = 1;
|
widgets = [
|
||||||
"kwinrc"."Tiling"."padding" = 4;
|
{
|
||||||
"kwinrc"."Tiling/07e6a9d6-7fe8-5aca-aa4d-fed79e8d901d"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
name = "org.kde.plasma.pager";
|
||||||
"kwinrc"."Tiling/a4b67978-379f-5845-bb4c-dd8369bff4ca"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
config = {
|
||||||
"kwinrc"."Wayland"."InputMethod[$e]" = "/run/current-system/sw/share/applications/org.fcitx.Fcitx5.desktop";
|
General = {
|
||||||
"kwinrc"."Wayland"."VirtualKeyboardEnabled" = true;
|
displayedText = "name";
|
||||||
"kwinrc"."Xwayland"."Scale" = 1.5;
|
showWindowOutlines = false;
|
||||||
"kxkbrc"."Layout"."DisplayNames" = "";
|
};
|
||||||
"kxkbrc"."Layout"."LayoutList" = "jp";
|
};
|
||||||
"kxkbrc"."Layout"."Model" = "jp106";
|
}
|
||||||
"kxkbrc"."Layout"."Options" = "ctrl:swapcaps";
|
"org.kde.plasma.appmenu"
|
||||||
"kxkbrc"."Layout"."ResetOldOptions" = true;
|
"org.kde.plasma.panelspacer"
|
||||||
"kxkbrc"."Layout"."Use" = true;
|
{
|
||||||
"kxkbrc"."Layout"."VariantList" = "";
|
digitalClock = {
|
||||||
"plasma-localerc"."Formats"."LANG" = "en_US.UTF-8";
|
calendar.firstDayOfWeek = "monday";
|
||||||
"plasmanotifyrc"."Applications/thunderbird"."Seen" = true;
|
time.format = "24h";
|
||||||
"plasmarc"."Wallpapers"."usersWallpapers" = "/home/chase/Pictures/wallpaper/wallhaven-g7y8od.jpg";
|
};
|
||||||
"spectaclerc"."GuiConfig"."captureMode" = 0;
|
}
|
||||||
"spectaclerc"."ImageSave"."translatedScreenshotsFolder" = "Screenshots";
|
"org.kde.plasma.panelspacer"
|
||||||
"spectaclerc"."VideoSave"."translatedScreencastsFolder" = "Screencasts";
|
"org.kde.plasma.systemtray"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
floating = true;
|
||||||
|
height = 48;
|
||||||
|
hiding = "dodgewindows";
|
||||||
|
lengthMode = "fit";
|
||||||
|
location = "bottom";
|
||||||
|
opacity = "adaptive";
|
||||||
|
widgets = [
|
||||||
|
"org.kde.plasma.kicker"
|
||||||
|
"org.kde.plasma.icontasks"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
shortcuts = {
|
||||||
|
kwin = {
|
||||||
|
"Switch to Desktop 1" = "Meta+1";
|
||||||
|
"Switch to Desktop 2" = "Meta+2";
|
||||||
|
"Switch to Desktop 3" = "Meta+3";
|
||||||
|
"Switch to Desktop 4" = "Meta+4";
|
||||||
|
"Switch to Desktop 5" = "Meta+5";
|
||||||
|
"Window to Desktop 1" = "Meta+!";
|
||||||
|
"Window to Desktop 2" = "Meta+\"";
|
||||||
|
"Window to Desktop 3" = "Meta+#";
|
||||||
|
"Window to Desktop 4" = "Meta+$";
|
||||||
|
"Window to Desktop 5" = "Meta+%";
|
||||||
|
};
|
||||||
|
plasmashell = {
|
||||||
|
"activate task manager entry 1" = ",none,Activate Task Manager Entry 1";
|
||||||
|
"activate task manager entry 2" = ",none,Activate Task Manager Entry 2";
|
||||||
|
"activate task manager entry 3" = ",none,Activate Task Manager Entry 3";
|
||||||
|
"activate task manager entry 4" = ",none,Activate Task Manager Entry 4";
|
||||||
|
"activate task manager entry 5" = ",none,Activate Task Manager Entry 5";
|
||||||
|
"next activity" = ",none,Walk through activities";
|
||||||
|
"previous activity" = ",none,Walk through activities (Reverse)";
|
||||||
|
};
|
||||||
|
"services/kitty.desktop"."_launch" = "Meta+X";
|
||||||
|
};
|
||||||
|
workspace = {
|
||||||
|
wallpaper = "/home/chase/nix-config/home/wallpaper.jpg";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
33
home/scripts/nixswitch
Executable file
33
home/scripts/nixswitch
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# NixOS rebuild script
|
||||||
|
#
|
||||||
|
# original by 0atman: https://gist.github.com/0atman/1a5133b842f929ba4c1e195ee67599d5
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
pushd ~/nix-config
|
||||||
|
|
||||||
|
if git diff --quiet; then
|
||||||
|
echo "No changes detected, exiting."
|
||||||
|
popd
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
alejandra . &>/dev/null \
|
||||||
|
|| ( alejandra . ; echo "formatting failed!" && exit 1)
|
||||||
|
|
||||||
|
git diff -U0
|
||||||
|
|
||||||
|
echo "NixOS rebuilding..."
|
||||||
|
|
||||||
|
sudo nixos-rebuild switch --flake . &>nixos-switch.log \
|
||||||
|
|| (cat nixos-switch.log | grep --color error && exit 1)
|
||||||
|
|
||||||
|
current=$(nixos-rebuild list-generations | grep current)
|
||||||
|
|
||||||
|
git commit -am "$current"
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available
|
@@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
cd ~/nixos-config
|
|
||||||
|
|
||||||
sudo nixos-rebuild switch --flake . &>nixos-switch.log || (cat nixos-switch.log | grep --color error && exit 1)
|
|
||||||
|
|
||||||
current=$(nixos-rebuild list-generations | grep current)
|
|
||||||
|
|
||||||
git commit -am "$current"
|
|
||||||
|
|
||||||
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available
|
|
||||||
|
|
36
home/scripts/nixupdate
Executable file
36
home/scripts/nixupdate
Executable file
@@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# NixOS update and rebuild script
|
||||||
|
#
|
||||||
|
# original by 0atman: https://gist.github.com/0atman/1a5133b842f929ba4c1e195ee67599d5
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
pushd ~/nix-config
|
||||||
|
|
||||||
|
nix flake update
|
||||||
|
|
||||||
|
if git diff --quiet; then
|
||||||
|
echo "No changes detected, exiting."
|
||||||
|
popd
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
alejandra . &>/dev/null \
|
||||||
|
|| ( alejandra . ; echo "formatting failed!" && exit 1)
|
||||||
|
|
||||||
|
git diff -U0
|
||||||
|
|
||||||
|
echo "NixOS rebuilding..."
|
||||||
|
|
||||||
|
sudo nixos-rebuild switch --flake . &>nixos-switch.log \
|
||||||
|
|| (cat nixos-switch.log | grep --color error && exit 1)
|
||||||
|
|
||||||
|
current=$(nixos-rebuild list-generations | grep current)
|
||||||
|
|
||||||
|
git commit -am "$current"
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available
|
123
home/waybar.css
Normal file
123
home/waybar.css
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
* {
|
||||||
|
font-family: "JetBrainsMono Nerd Font";
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
border-radius: 8px;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
}
|
||||||
|
@keyframes blink_red {
|
||||||
|
to {
|
||||||
|
background-color: rgb(242, 143, 173);
|
||||||
|
color: rgb(26, 24, 38);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.warning, .critical, .urgent {
|
||||||
|
animation-name: blink_red;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
window#waybar {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
window > box {
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 5px;
|
||||||
|
background-color: #1e1e2a;
|
||||||
|
padding: 3px;
|
||||||
|
padding-left:8px;
|
||||||
|
border: 2px none #33ccff;
|
||||||
|
}
|
||||||
|
#workspaces {
|
||||||
|
padding-left: 0px;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
#workspaces button {
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
padding-left: 6px;
|
||||||
|
padding-right: 6px;
|
||||||
|
}
|
||||||
|
#workspaces button.active {
|
||||||
|
background-color: rgb(181, 232, 224);
|
||||||
|
color: rgb(26, 24, 38);
|
||||||
|
}
|
||||||
|
#workspaces button.urgent {
|
||||||
|
color: rgb(26, 24, 38);
|
||||||
|
}
|
||||||
|
#workspaces button:hover {
|
||||||
|
background-color: rgb(248, 189, 150);
|
||||||
|
color: rgb(26, 24, 38);
|
||||||
|
}
|
||||||
|
tooltip {
|
||||||
|
background: rgb(48, 45, 65);
|
||||||
|
}
|
||||||
|
tooltip label {
|
||||||
|
color: rgb(217, 224, 238);
|
||||||
|
}
|
||||||
|
#custom-launcher {
|
||||||
|
font-size: 20px;
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 6px;
|
||||||
|
color: #7ebae4;
|
||||||
|
}
|
||||||
|
#mode, #clock, #memory, #temperature,#cpu,#mpd, #custom-wall, #temperature, #backlight, #pulseaudio, #network, #battery, #custom-powermenu, #custom-cava-internal {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
/* #mode { */
|
||||||
|
/* margin-left: 10px; */
|
||||||
|
/* background-color: rgb(248, 189, 150); */
|
||||||
|
/* color: rgb(26, 24, 38); */
|
||||||
|
/* } */
|
||||||
|
#memory {
|
||||||
|
color: rgb(181, 232, 224);
|
||||||
|
}
|
||||||
|
#cpu {
|
||||||
|
color: rgb(245, 194, 231);
|
||||||
|
}
|
||||||
|
#clock {
|
||||||
|
color: rgb(217, 224, 238);
|
||||||
|
}
|
||||||
|
/* #idle_inhibitor {
|
||||||
|
color: rgb(221, 182, 242);
|
||||||
|
}*/
|
||||||
|
#custom-wall {
|
||||||
|
color: #33ccff;
|
||||||
|
}
|
||||||
|
#temperature {
|
||||||
|
color: rgb(150, 205, 251);
|
||||||
|
}
|
||||||
|
#backlight {
|
||||||
|
color: rgb(248, 189, 150);
|
||||||
|
}
|
||||||
|
#pulseaudio {
|
||||||
|
color: rgb(245, 224, 220);
|
||||||
|
}
|
||||||
|
#network {
|
||||||
|
color: #ABE9B3;
|
||||||
|
}
|
||||||
|
#network.disconnected {
|
||||||
|
color: rgb(255, 255, 255);
|
||||||
|
}
|
||||||
|
#custom-powermenu {
|
||||||
|
color: rgb(242, 143, 173);
|
||||||
|
padding-right: 8px;
|
||||||
|
}
|
||||||
|
#tray {
|
||||||
|
padding-right: 8px;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
#mpd.paused {
|
||||||
|
color: #414868;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
#mpd.stopped {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
#mpd {
|
||||||
|
color: #c0caf5;
|
||||||
|
}
|
49
hosts/anzu/configuration.nix
Normal file
49
hosts/anzu/configuration.nix
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../nixos/desktop.nix
|
||||||
|
../../nixos/plasma.nix
|
||||||
|
../../nixos/hypr.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
amdvlk
|
||||||
|
];
|
||||||
|
extraPackages32 = with pkgs; [
|
||||||
|
driversi686Linux.amdvlk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
boot.lanzaboote = {
|
||||||
|
enable = true;
|
||||||
|
pkiBundle = "/var/lib/sbctl";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Mount SMB share
|
||||||
|
fileSystems."/mnt/share" = {
|
||||||
|
device = "//haruko/share";
|
||||||
|
fsType = "cifs";
|
||||||
|
options = let
|
||||||
|
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||||
|
credentials = "${config.sops.templates."smb-credentials".path}";
|
||||||
|
in ["${automount_opts},credentials=${credentials},uid=1000,gid=100"];
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.wg-quick.interfaces = {
|
||||||
|
wg0 = {
|
||||||
|
configFile = "/home/chase/wg0.conf";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
}
|
@@ -1,8 +1,11 @@
|
|||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
### this machine ###
|
### this machine ###
|
||||||
@@ -17,35 +20,25 @@
|
|||||||
boot.initrd.luks.devices."luks-9527937d-2d02-4feb-9a16-c9c417b33d0d".device = "/dev/disk/by-uuid/9527937d-2d02-4feb-9a16-c9c417b33d0d";
|
boot.initrd.luks.devices."luks-9527937d-2d02-4feb-9a16-c9c417b33d0d".device = "/dev/disk/by-uuid/9527937d-2d02-4feb-9a16-c9c417b33d0d";
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod"];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = ["amdgpu"];
|
||||||
boot.kernelModules = ["kvm-amd"];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/1518dbe1-8322-48d3-9fc9-cd0478ccbf43";
|
device = "/dev/disk/by-uuid/1518dbe1-8322-48d3-9fc9-cd0478ccbf43";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/1FCD-5A26";
|
device = "/dev/disk/by-uuid/1FCD-5A26";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0077" "dmask=0077"];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/dd48a14e-2c90-465b-81a3-661d31ebf39f"; }
|
{device = "/dev/disk/by-uuid/dd48a14e-2c90-465b-81a3-661d31ebf39f";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Mount SMB share
|
|
||||||
fileSystems."/mnt/share" = {
|
|
||||||
device = "//haruko/share";
|
|
||||||
fsType = "cifs";
|
|
||||||
options = let
|
|
||||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
|
||||||
|
|
||||||
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# 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
|
# (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
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
@@ -56,4 +49,6 @@
|
|||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|
||||||
|
services.xserver.xkb.options = "ctrl:swapcaps";
|
||||||
}
|
}
|
||||||
|
13
hosts/anzu/home.nix
Normal file
13
hosts/anzu/home.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
../../home/desktop.nix
|
||||||
|
../../home/hypr.nix
|
||||||
|
../../home/plasma.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.stateVersion = "24.11";
|
||||||
|
}
|
22
hosts/hosts.nix
Normal file
22
hosts/hosts.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
let
|
||||||
|
user = "chase";
|
||||||
|
in {
|
||||||
|
anzu = {
|
||||||
|
hostname = "anzu";
|
||||||
|
dir = "anzu";
|
||||||
|
arch = "x86_64-Linux";
|
||||||
|
user = user;
|
||||||
|
};
|
||||||
|
ichigo = {
|
||||||
|
hostname = "ichigo";
|
||||||
|
dir = "ichigo";
|
||||||
|
arch = "x86_64-Linux";
|
||||||
|
user = user;
|
||||||
|
};
|
||||||
|
kuromi = {
|
||||||
|
hostname = "kuromi";
|
||||||
|
dir = "kuromi";
|
||||||
|
arch = "x86_64-Linux";
|
||||||
|
user = user;
|
||||||
|
};
|
||||||
|
}
|
35
hosts/ichigo/configuration.nix
Normal file
35
hosts/ichigo/configuration.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../nixos/desktop.nix
|
||||||
|
../../nixos/plasma.nix
|
||||||
|
../../nixos/hypr.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
hardware.graphics = {
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
amdvlk
|
||||||
|
];
|
||||||
|
extraPackages32 = with pkgs; [
|
||||||
|
driversi686Linux.amdvlk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||||
|
|
||||||
|
# Mount SMB share
|
||||||
|
fileSystems."/mnt/share" = {
|
||||||
|
device = "//haruko/share";
|
||||||
|
fsType = "cifs";
|
||||||
|
options = let
|
||||||
|
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
||||||
|
credentials = "${config.sops.templates."smb-credentials".path}";
|
||||||
|
in ["${automount_opts},credentials=${credentials},uid=1000,gid=100"];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
}
|
@@ -1,50 +1,43 @@
|
|||||||
# 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 =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
### this machine ###
|
### this machine ###
|
||||||
networking.hostName = "ichigo";
|
networking.hostName = "ichigo";
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
### hardware config ###
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/d248b616-bdb7-463d-94a6-9718de8dc85a";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
# encrypted root and swap
|
||||||
boot.initrd.luks.devices."luks-d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca".device = "/dev/disk/by-uuid/d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca";
|
boot.initrd.luks.devices."luks-d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca".device = "/dev/disk/by-uuid/d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca";
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-877310a4-b495-4060-9ee6-e7a841862f22".device = "/dev/disk/by-uuid/877310a4-b495-4060-9ee6-e7a841862f22";
|
boot.initrd.luks.devices."luks-877310a4-b495-4060-9ee6-e7a841862f22".device = "/dev/disk/by-uuid/877310a4-b495-4060-9ee6-e7a841862f22";
|
||||||
|
|
||||||
fileSystems."/boot" =
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||||
{ device = "/dev/disk/by-uuid/AA5A-18AD";
|
boot.initrd.kernelModules = ["amdgpu"];
|
||||||
|
boot.kernelModules = ["kvm-amd"];
|
||||||
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/d248b616-bdb7-463d-94a6-9718de8dc85a";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/AA5A-18AD";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0077" "dmask=0077"];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/752114b2-c304-4670-aba8-7288954605bc"; }
|
{device = "/dev/disk/by-uuid/752114b2-c304-4670-aba8-7288954605bc";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Mount SMB share
|
|
||||||
fileSystems."/mnt/share" = {
|
|
||||||
device = "//haruko/share";
|
|
||||||
fsType = "cifs";
|
|
||||||
options = let
|
|
||||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
|
|
||||||
|
|
||||||
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# 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
|
# (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
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
13
hosts/ichigo/home.nix
Normal file
13
hosts/ichigo/home.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
../../home/desktop.nix
|
||||||
|
../../home/hypr.nix
|
||||||
|
../../home/plasma.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.stateVersion = "24.11";
|
||||||
|
}
|
18
hosts/kuromi/configuration.nix
Normal file
18
hosts/kuromi/configuration.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../nixos/base.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "kuromi";
|
||||||
|
|
||||||
|
system.stateVersion = "25.05";
|
||||||
|
}
|
44
hosts/kuromi/hardware-configuration.nix
Normal file
44
hosts/kuromi/hardware-configuration.nix
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# 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" "nvme" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"];
|
||||||
|
boot.initrd.kernelModules = [];
|
||||||
|
boot.kernelModules = ["kvm-intel"];
|
||||||
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/612f8704-c020-4188-85a7-27127e9b9ff2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = ["subvol=@"];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/2211-57BE";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.eno0.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;
|
||||||
|
}
|
11
hosts/kuromi/home.nix
Normal file
11
hosts/kuromi/home.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
../../home/base.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
}
|
244
nixos/base.nix
Normal file
244
nixos/base.nix
Normal file
@@ -0,0 +1,244 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader = {
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
configurationLimit = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Garbage collection
|
||||||
|
nix = {
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 1w";
|
||||||
|
};
|
||||||
|
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||||
|
settings = {
|
||||||
|
auto-optimise-store = true;
|
||||||
|
download-buffer-size = 524288000;
|
||||||
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "America/New_York";
|
||||||
|
|
||||||
|
# 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_GB.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure keymap
|
||||||
|
console.keyMap = lib.mkDefault "jp106";
|
||||||
|
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = lib.mkDefault "jp";
|
||||||
|
model = lib.mkDefault "jp106";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow power management
|
||||||
|
powerManagement.enable = true;
|
||||||
|
|
||||||
|
# NetworkManager
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Catppuccin
|
||||||
|
catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
flavor = "mocha";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Android debug tools
|
||||||
|
programs.adb.enable = true;
|
||||||
|
|
||||||
|
# Bash config
|
||||||
|
programs.bash = {
|
||||||
|
blesh.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# zsh config
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
enableBashCompletion = true;
|
||||||
|
autosuggestions.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Define a user account
|
||||||
|
users.users.chase = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Chase";
|
||||||
|
extraGroups = [
|
||||||
|
"adbusers"
|
||||||
|
"audio"
|
||||||
|
"cdrom"
|
||||||
|
"dialout"
|
||||||
|
"kvm"
|
||||||
|
"networkmanager"
|
||||||
|
"tss"
|
||||||
|
"video"
|
||||||
|
"wheel"
|
||||||
|
];
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFSQX+s8Krl312DcnUtoEWOA2silcUnt5URtyVZz8Yek"
|
||||||
|
];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Install git and enable cache
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
init = {
|
||||||
|
defaultBranch = "main";
|
||||||
|
};
|
||||||
|
credential = {
|
||||||
|
helper = "cache --timeout 21600";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Install Neovim
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
configure = {
|
||||||
|
customRC = ''
|
||||||
|
set autoindent
|
||||||
|
set number relativenumber
|
||||||
|
set tabstop=4
|
||||||
|
colorscheme catppuccin-mocha
|
||||||
|
'';
|
||||||
|
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||||
|
start = [catppuccin-nvim];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# ssh agent
|
||||||
|
programs.gnupg.agent.enable = true;
|
||||||
|
|
||||||
|
programs.ssh = {
|
||||||
|
enableAskPassword = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
sops = {
|
||||||
|
defaultSopsFile = ../secrets.yaml;
|
||||||
|
validateSopsFiles = false;
|
||||||
|
age = {
|
||||||
|
sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
|
||||||
|
keyFile = "/var/lib/sops-nix/key.txt";
|
||||||
|
generateKey = true;
|
||||||
|
};
|
||||||
|
secrets = {
|
||||||
|
"smb-username" = {};
|
||||||
|
"smb-password" = {};
|
||||||
|
};
|
||||||
|
templates = {
|
||||||
|
"smb-credentials".content = ''
|
||||||
|
username=${config.sops.placeholder.smb-username}
|
||||||
|
password=${config.sops.placeholder.smb-password}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# List packages installed in system profile.
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
alejandra
|
||||||
|
bitwarden-cli
|
||||||
|
cifs-utils
|
||||||
|
flashrom
|
||||||
|
gcc
|
||||||
|
nixd
|
||||||
|
pam_u2f
|
||||||
|
pciutils
|
||||||
|
python3
|
||||||
|
qemu
|
||||||
|
rustup
|
||||||
|
sbctl
|
||||||
|
sops
|
||||||
|
usbutils
|
||||||
|
wget
|
||||||
|
wireguard-tools
|
||||||
|
yubikey-manager
|
||||||
|
];
|
||||||
|
|
||||||
|
security.pam = lib.optionalAttrs pkgs.stdenv.isLinux {
|
||||||
|
sshAgentAuth.enable = true;
|
||||||
|
u2f = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
cue = false;
|
||||||
|
authFile = "~/.config/Yubico/u2f_keys";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
login.u2fAuth = true;
|
||||||
|
sudo = {
|
||||||
|
u2fAuth = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
security.tpm2 = {
|
||||||
|
enable = true;
|
||||||
|
pkcs11.enable = true;
|
||||||
|
tctiEnvironment.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.fstrim.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
# Firmware updates
|
||||||
|
services.fwupd.enable = true;
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
PermitRootLogin = "no";
|
||||||
|
PasswordAuthentication = false;
|
||||||
|
KbdInteractiveAuthentication = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.pcscd.enable = true;
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
services.udev = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
yubikey-personalization
|
||||||
|
];
|
||||||
|
extraRules = ''
|
||||||
|
SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0202", MODE="0666", GROUP="dialout"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
services.yubikey-agent.enable = true;
|
||||||
|
}
|
119
nixos/desktop.nix
Normal file
119
nixos/desktop.nix
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./base.nix
|
||||||
|
];
|
||||||
|
# Use latest stable kernel
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
# Enable Bluetooth
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
# Enable SDDM
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkDefault pkgs.kdePackages.sddm;
|
||||||
|
extraPackages = [pkgs.kdePackages.sddm-kcm];
|
||||||
|
wayland.enable = true;
|
||||||
|
enableHidpi = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Catppuccin
|
||||||
|
catppuccin = {
|
||||||
|
sddm = {
|
||||||
|
enable = true;
|
||||||
|
background = "/home/chase/nix-config/home/wallpaper.jpg";
|
||||||
|
flavor = "mocha";
|
||||||
|
font = "IBM Plex Sans";
|
||||||
|
fontSize = "11";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable graphics
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
i18n.inputMethod = {
|
||||||
|
type = "fcitx5";
|
||||||
|
enable = true;
|
||||||
|
fcitx5.addons = with pkgs; [
|
||||||
|
fcitx5-mozc
|
||||||
|
kdePackages.fcitx5-qt
|
||||||
|
];
|
||||||
|
fcitx5.waylandFrontend = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
fonts = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
corefonts
|
||||||
|
font-awesome
|
||||||
|
hachimarupop
|
||||||
|
ibm-plex
|
||||||
|
kanji-stroke-order-font
|
||||||
|
liberation_ttf
|
||||||
|
nerd-fonts.blex-mono
|
||||||
|
nerd-fonts.jetbrains-mono
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-emoji
|
||||||
|
];
|
||||||
|
fontconfig = {
|
||||||
|
defaultFonts = {
|
||||||
|
serif = ["IBM Plex Serif"];
|
||||||
|
sansSerif = ["IBM Plex Sans"];
|
||||||
|
monospace = ["BlexMono Nerd Font"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Install firefox
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
nativeMessagingHosts.packages = [pkgs.firefoxpwa];
|
||||||
|
policies = {
|
||||||
|
DisableTelemetry = true;
|
||||||
|
DisableFirefoxAccounts = true;
|
||||||
|
DisableFirefoxStudies = true;
|
||||||
|
DisablePocket = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Install Steam
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
dedicatedServer.openFirewall = true;
|
||||||
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# List packages installed in system profile.
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
bitwarden-desktop
|
||||||
|
firefoxpwa
|
||||||
|
kdePackages.dolphin
|
||||||
|
protonup-qt
|
||||||
|
qpwgraph
|
||||||
|
yubioath-flutter
|
||||||
|
];
|
||||||
|
|
||||||
|
services.fprintd.enable = true;
|
||||||
|
}
|
39
nixos/hypr.nix
Normal file
39
nixos/hypr.nix
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# Cachix for Hyprland
|
||||||
|
nix.settings = {
|
||||||
|
substituters = ["https://hyprland.cachix.org"];
|
||||||
|
trusted-substituters = ["https://hyprland.cachix.org"];
|
||||||
|
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Hyprland
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||||
|
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
withUWSM = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.hyprlock.enable = true;
|
||||||
|
|
||||||
|
programs.uwsm = {
|
||||||
|
enable = true;
|
||||||
|
waylandCompositors = {
|
||||||
|
hyprland = {
|
||||||
|
prettyName = "Hyprland";
|
||||||
|
comment = "Hyprland compositor managed by UWSM";
|
||||||
|
binPath = "/run/current-system/sw/bin/Hyprland";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
security.pam.services.hyprlock = {};
|
||||||
|
|
||||||
|
services.hypridle.enable = true;
|
||||||
|
}
|
24
nixos/plasma.nix
Normal file
24
nixos/plasma.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||||
|
elisa
|
||||||
|
kate
|
||||||
|
];
|
||||||
|
|
||||||
|
# List packages installed in system profile.
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
(catppuccin-kde.override {
|
||||||
|
flavour = ["mocha"];
|
||||||
|
accents = [
|
||||||
|
"blue"
|
||||||
|
"lavender"
|
||||||
|
"pink"
|
||||||
|
"sapphire"
|
||||||
|
];
|
||||||
|
winDecStyles = ["classic"];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
44
secrets.yaml
Normal file
44
secrets.yaml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
smb-username: ENC[AES256_GCM,data:pFkBi+c=,iv:JSRlBHBGMNZVZZuQaSHj/cpXOaxRV3xkG/OaTOjFDZc=,tag:ALMWCi+gAqt2HtSKGGaS5Q==,type:str]
|
||||||
|
smb-password: ENC[AES256_GCM,data:LgxYSOZhj5DwvTwAoF0cLJezxYQ=,iv:is3PWEgvWmbFc39npdjD9qYrMo76wWAczZlo7LCoNf0=,tag:vanjCeI01KaL5STCSwxM/g==,type:str]
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- recipient: age19uwxm2gynhjl9m90gckrkh76m9hjut44ak6d8969y4swhz8ypyeqvfcaas
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvT1pKc1VrVllURWozOXd1
|
||||||
|
NURBT1haRlBkeHB3eTVabmhWMEI0a1JySDFjCkU3Ry9QaEpRTllaZlRZUllJOUtF
|
||||||
|
U0ZtOFJRbmEwYnFwK1JRNkJQQXlVVnMKLS0tIGRBZTloenV2YkhGMllUSEx5UGlk
|
||||||
|
emcvaGhuRStCRFBPY29UdmhPeUhqWDQKkabWErK0qtwVnWza7UfhmX9yfIZJC1XV
|
||||||
|
MOsdxHryfilLFHhzOI2UGM2dzKlukNvHwAuJmoRkwjIj8Ugj1sU3nA==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1wdjujpvc2zd0g592a9gqa7qzz4pcans8m0tyq3m6eq9np9a3lg2s8kxf3h
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQbDBPVUFTcERIaEh4ZHp3
|
||||||
|
aW1GQXlVQThyeDdVYzNYNHlqcFRIYVNpa2xNCmpMeml4REpsRDl1SU1pSm92SU1V
|
||||||
|
OXNhUklhTGxRMTRTV3dlbENsTVlXTVEKLS0tICtzU3ZteFNCOEo3NmVwNE1ydHVM
|
||||||
|
dFpJMXowc3h1MHdBYVZLc0Y5bXZoTUkKFs67JKeHhZiK2tAu7Poh4Fou5QYm8HXK
|
||||||
|
r09HeCuiIfxjRuT1t8nRvRALdzOG6xNuPULs6aCdjpa/d0EvnXyw+w==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1hpcyetyl0yrwxy0geem6z2u2kwl4hmckur7pnaaxwaylf8ata9vsv8j3wh
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmb3oyWFBvdXIxRkNtL0xs
|
||||||
|
aGNzQ0RERXB3TGFUOVBTQm5wOUlodkZiMXlvClFXR1Z0ZHpFa2RyUlYzL01Bb2RN
|
||||||
|
UGZNREVqRU9ZRVhMQ3VMYUNKcUI4WTgKLS0tIDB5RmkzSTdwSTVUQjJMbklxeFM5
|
||||||
|
M0s3QmI4MzNiVy8yNGE2TG01Z1paOWcKIGj+ofrO443CiK1n3J291KwnKqmG99+M
|
||||||
|
1mYfFrvpx/yVTzt2Pk5ioTC+hzDWUHy1gR8vQTVTjGkhU8cBCzNR/w==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1culqt965xgweu5h6menrppf7eatq7at04z0n52t365f0nvlv043su5t2yl
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWOVQ2ZzhZT0pqZjIzQXp1
|
||||||
|
dzBuVEcyYS9MSW8vdnFPT2p4NzJBZ3g2K0c4CmpqSC9XRFBsdUJsM1phckQ4aW5D
|
||||||
|
RFZmTFJMSkR5VE9idzJMZGZzajFBWFEKLS0tIElnTXg5aUNQVE5qOGlxd00zY0NX
|
||||||
|
ZGRES0oyeGZSRHBQU0RQNzNZd1VBZTAKhRXixVaTXhZrTmntLGaC9WIm/Ylm3tp7
|
||||||
|
xQxZA8n5PRtqENa5Cj3jqJQS2gmwy5kixO9U6IHzMWntBE7zr/hKrQ==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-06-08T19:43:47Z"
|
||||||
|
mac: ENC[AES256_GCM,data:9YpgBrJwWhz2utNPldpIU/ylaN2QfkSj1LvWa8sISSnuXvsBsZ8a+oNzuGDd5+Q1pSYtoiBt6viqZn65wp8x+kb9ZMJdsWoZZG2U1b3rHUsadOYarvwMVDoQ5TZFFjEOyzyCgT7ln6v1rfAKwL5LJ3Kjv6SRIb9dK51sDsVijhQ=,iv:yTlxgZoOdB7pu5iZKP+q1cXbDsTT5HgsWo4tkix8948=,tag:qJbiq+Fayx5L9V7to1ijvQ==,type:str]
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.10.2
|
Reference in New Issue
Block a user