added hypridle, hyprlock, and sddm + sddm-theme-corners
This commit is contained in:
parent
aca0bcc993
commit
97b344eb03
11 changed files with 445 additions and 196 deletions
8
INSPIRATION
Normal file
8
INSPIRATION
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
Godlike
|
||||||
|
https://github.com/end-4/dots-hyprland
|
||||||
|
|
||||||
|
Gorgeous
|
||||||
|
https://github.com/prasanthrangan/hyprdots
|
||||||
|
|
||||||
|
Very nice
|
||||||
|
https://github.com/linuxmobile/hyprland-dots
|
||||||
|
|
@ -81,3 +81,5 @@ Really great starter config for learning how parts interact and how to generally
|
||||||
Wiki page explaining how to install fonts and nerd fonts on NixOS
|
Wiki page explaining how to install fonts and nerd fonts on NixOS
|
||||||
4. https://github.com/adi1090x/rofi
|
4. https://github.com/adi1090x/rofi
|
||||||
For the Rofi theme
|
For the Rofi theme
|
||||||
|
5. https://github.com/zDyanTB/HyprNova
|
||||||
|
For the really cool hyprlock theme
|
||||||
|
|
|
||||||
28
TODO
28
TODO
|
|
@ -17,6 +17,12 @@ Get hyprcursor working with Bibata-Modern-Ice
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Get waybar (or another bar) working
|
||||||
|
|
||||||
|
Get a GRUB theme working
|
||||||
|
|
||||||
|
Get SDDM and a theme working
|
||||||
|
|
||||||
|
|
||||||
Overtime just install more programs that I need regularly: ie
|
Overtime just install more programs that I need regularly: ie
|
||||||
- btop/htop/etc
|
- btop/htop/etc
|
||||||
|
|
@ -24,12 +30,6 @@ Overtime just install more programs that I need regularly: ie
|
||||||
|
|
||||||
Get a QT theme
|
Get a QT theme
|
||||||
|
|
||||||
Get waybar (or another bar) working
|
|
||||||
|
|
||||||
Get a GRUB theme working
|
|
||||||
|
|
||||||
Get SDDM and a theme working
|
|
||||||
|
|
||||||
Fix pipewire audio is so incredibly low (happens on laptop and PC)
|
Fix pipewire audio is so incredibly low (happens on laptop and PC)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -48,28 +48,32 @@ Get GTK Bibata Cursors to be the same size as my system cursor
|
||||||
|
|
||||||
Fix: your 131072x1 screen size is bogus. expect trouble
|
Fix: your 131072x1 screen size is bogus. expect trouble
|
||||||
|
|
||||||
Are there plugins for helix?
|
|
||||||
|
|
||||||
Search for all "TODO" items in my nix dotfiles
|
Search for all "TODO" items in my nix dotfiles
|
||||||
|
|
||||||
Push nixdots to github
|
Push nixdots to github
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Check out the Ekala Project (I joined their discord server)
|
Check out the Ekala Project (I joined their discord server)
|
||||||
|
|
||||||
|
|
||||||
Create a program that enables/disables passwordless sudo access
|
Create a program that enables/disables passwordless sudo access
|
||||||
(add to github too)
|
(add to github too)
|
||||||
|
|
||||||
|
|
||||||
Have helix editor look differently depending on language
|
|
||||||
(specifically don't show indent indicators when editing nix files
|
|
||||||
|
|
||||||
|
|
||||||
Learn to package my own home-manager modules
|
Learn to package my own home-manager modules
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ideal Features:
|
||||||
|
1. AI assistant
|
||||||
|
2. searching can also be used to calculate stuff (like I do on my iPad)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Fork nixcord and fix documentation (the installation is confusing)
|
Fork nixcord and fix documentation (the installation is confusing)
|
||||||
But firstly the first code snippet is wrong...
|
But firstly the first code snippet is wrong...
|
||||||
|
|
|
||||||
1
deploy
1
deploy
|
|
@ -1,2 +1,3 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
sudo nixos-rebuild switch --flake .
|
sudo nixos-rebuild switch --flake .
|
||||||
|
#nixos-rebuild build --flake .# --cores 8 -j 1
|
||||||
|
|
|
||||||
|
|
@ -72,12 +72,233 @@
|
||||||
# TODO: this lowkey doesnt work... (maybe the name "Dracula" is wrong?)
|
# TODO: this lowkey doesnt work... (maybe the name "Dracula" is wrong?)
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
style = {
|
platformTheme.name = "gtk2";
|
||||||
name = "Dracula";
|
style.name = "gtk2";
|
||||||
package = pkgs.dracula-qt5-theme;
|
};
|
||||||
|
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
ignore_dbus_inhibit = false;
|
||||||
|
lock_cmd = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||||
|
before_sleep_cmd = "loginctl lock-session";
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 600;
|
||||||
|
on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
timeout = 660;
|
||||||
|
on-timeout = "systemctl suspend";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
background = {
|
||||||
|
monitor = "";
|
||||||
|
path = "$HOME/downloads/1.png"; # only png supported for now
|
||||||
|
# color = $color1
|
||||||
|
|
||||||
|
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||||
|
blur_size = 4;
|
||||||
|
blur_passes = 3; # 0 disables blurring
|
||||||
|
noise = 0.0117;
|
||||||
|
contrast = 1.3000; # Vibrant!!!
|
||||||
|
brightness = 0.8000;
|
||||||
|
vibrancy = 0.2100;
|
||||||
|
vibrancy_darkness = 0.0;
|
||||||
|
};
|
||||||
|
label = [
|
||||||
|
{
|
||||||
|
# Hours
|
||||||
|
monitor = "";
|
||||||
|
text = ''cmd[update:1000] echo "<b><big> $(date +"%H") </big></b>"'';
|
||||||
|
color = "rgb(255, 255, 255, 1)";
|
||||||
|
font_size = 112;
|
||||||
|
font_family = "Geist Mono 10";
|
||||||
|
shadow_passes = 3;
|
||||||
|
shadow_size = 4;
|
||||||
|
|
||||||
|
position = "0, 240";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Minutes
|
||||||
|
monitor = "";
|
||||||
|
text = ''cmd[update:1000] echo "<b><big> $(date +"%M") </big></b>"'';
|
||||||
|
color = "rgb(255, 255, 255, 1)";
|
||||||
|
font_size = 112;
|
||||||
|
font_family = "Geist Mono 10";
|
||||||
|
shadow_passes = 3;
|
||||||
|
shadow_size = 4;
|
||||||
|
|
||||||
|
position = "0, 120";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Today
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = ''cmd[update:18000000] echo "<b><big> "$(date +'%A')" </big></b>"'';
|
||||||
|
color = "rgb(255, 255, 255, 1)";
|
||||||
|
font_size = 22;
|
||||||
|
font_family = "JetBrainsMono Nerd Font 10";
|
||||||
|
|
||||||
|
position = "0, 30";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Week
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = ''cmd[update:18000000] echo "<b> "$(date +'%d %b')" </b>"'';
|
||||||
|
color = "rgb(255, 255, 255, 1)";
|
||||||
|
font_size = 18;
|
||||||
|
font_family = "JetBrainsMono Nerd Font 10";
|
||||||
|
|
||||||
|
position = "0, 6";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Degrees
|
||||||
|
monitor = "";
|
||||||
|
# get temperature in Brisbane
|
||||||
|
text = ''cmd[update:18000000] echo "<b>Feels like<big> $(curl -s 'wttr.in/bne?format=%t' | tr -d '+') </big></b>"'';
|
||||||
|
color = "rgb(255, 255, 255, 1)";
|
||||||
|
font_size = 18;
|
||||||
|
font_family = "Geist Mono 10";
|
||||||
|
|
||||||
|
position = "0, 40";
|
||||||
|
halign = "center";
|
||||||
|
valign = "bottom";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
input-field = {
|
||||||
|
monitor = "";
|
||||||
|
size = "300, 50";
|
||||||
|
outline_thickness = 3;
|
||||||
|
|
||||||
|
dots_size = 0.26; # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.64; # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true;
|
||||||
|
dots_rouding = -1;
|
||||||
|
|
||||||
|
rounding = 22;
|
||||||
|
outer_color = "rgb(255, 0, 0, 1)";
|
||||||
|
inner_color = "rgb(0, 255, 0, 1)";
|
||||||
|
font_color = "rgb(0, 0, 255, 1)";
|
||||||
|
fade_on_empty = true;
|
||||||
|
placeholder_text = "!!Super Secret!!"; # Text rendered in the input box when it's empty.
|
||||||
|
|
||||||
|
position = "0, 120";
|
||||||
|
halign = "center";
|
||||||
|
valign = "bottom";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
grace = 5;
|
||||||
|
no_fade_in = false;
|
||||||
|
disable_loading_bar = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# BACKGROUND
|
||||||
|
background = {
|
||||||
|
monitor = "";
|
||||||
|
path = "../../../downloads/1.png";
|
||||||
|
blur_passes = 0;
|
||||||
|
contrast = 0.8916;
|
||||||
|
brightness = 0.7172;
|
||||||
|
vibrancy = 0.1696;
|
||||||
|
vibrancy_darkness = 0.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
label = [
|
||||||
|
{
|
||||||
|
# Day-Month-Date
|
||||||
|
monitor = "";
|
||||||
|
text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
|
||||||
|
color = "rgb(255, 255, 255, 1)";
|
||||||
|
font_size = 28;
|
||||||
|
font_family = "JetBrainsMono Nerd Font Bold";
|
||||||
|
position = "0, 490";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
# Time
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
|
||||||
|
color = "rgb(255, 255, 255, 1)";
|
||||||
|
font_size = 160;
|
||||||
|
font_family = "steelfish outline regular";
|
||||||
|
position = "0, 370";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
# USER
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = " $USER";
|
||||||
|
color = "rgb(255, 255, 255, 1)";
|
||||||
|
outline_thickness = 2;
|
||||||
|
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true;
|
||||||
|
font_size = 18;
|
||||||
|
font_family = "JetBrainsMono Nerd Font Bold";
|
||||||
|
position = "0, -180";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# INPUT FIELD
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
size = "300, 60";
|
||||||
|
outline_thickness = 2;
|
||||||
|
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true;
|
||||||
|
outer_color = "rgba(255, 255, 255, 0)";
|
||||||
|
inner_color = "rgba(255, 255, 255, 0.1)";
|
||||||
|
font_color = "rgb(255, 255, 255, 1)";
|
||||||
|
fade_on_empty = false;
|
||||||
|
font_family = "JetBrainsMono Nerd Font Bold";
|
||||||
|
placeholder_text = "<i>🔒 Enter Password</i>";
|
||||||
|
hide_input = false;
|
||||||
|
position = "0, -250";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
# these are both required for home-manager to work
|
# these are both required for home-manager to work
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
|
@ -138,6 +359,7 @@
|
||||||
completion-replace = true; # completions replace entire word
|
completion-replace = true; # completions replace entire word
|
||||||
|
|
||||||
indent-heuristic = "tree-sitter"; # how indentation is computed
|
indent-heuristic = "tree-sitter"; # how indentation is computed
|
||||||
|
# TODO: make this configurable (enabled on myputer, disabled on lolcathost)
|
||||||
middle-click-paste = true;
|
middle-click-paste = true;
|
||||||
insert-final-newline = true; # append newline to file on write
|
insert-final-newline = true; # append newline to file on write
|
||||||
|
|
||||||
|
|
@ -361,7 +583,7 @@
|
||||||
|
|
||||||
# Run when the `OpenConfigEditor` keybinding is triggered
|
# Run when the `OpenConfigEditor` keybinding is triggered
|
||||||
editor = {
|
editor = {
|
||||||
program = "nvim";
|
program = "hx"; # helix
|
||||||
args = [];
|
args = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,18 +66,17 @@ in {
|
||||||
# ----- SERVICES -----
|
# ----- SERVICES -----
|
||||||
services = {
|
services = {
|
||||||
# Set display manager (login screen)
|
# Set display manager (login screen)
|
||||||
#displayManager = {
|
displayManager = {
|
||||||
# sddm = {
|
sddm = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# #theme = "${import ./sddm-theme.nix { inherit pkgs; }}";
|
wayland.enable = true; # enable experimental sddm support for wayland
|
||||||
# wayland.enable = true; # enable experimental sddm support for wayland
|
theme = "${import ./sddm-theme-corners.nix {inherit pkgs;}}";
|
||||||
# };
|
};
|
||||||
# defaultSession = "hyprland";
|
defaultSession = "hyprland";
|
||||||
#};
|
};
|
||||||
|
|
||||||
# Enable sound
|
# Enable sound
|
||||||
hardware.pulseaudio.enable = false;
|
#hardware.pulseaudio.enable = false;
|
||||||
security.rtkit.enable = true;
|
|
||||||
pipewire = {
|
pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
@ -95,6 +94,7 @@ in {
|
||||||
tumbler.enable = true; # Thunar image thumbnail support
|
tumbler.enable = true; # Thunar image thumbnail support
|
||||||
gvfs.enable = true; # Thunar mount, trash, and other functionality
|
gvfs.enable = true; # Thunar mount, trash, and other functionality
|
||||||
};
|
};
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
# allow wheel group to use passwordless sudo
|
# allow wheel group to use passwordless sudo
|
||||||
users = {
|
users = {
|
||||||
|
|
@ -174,6 +174,7 @@ in {
|
||||||
zoxide
|
zoxide
|
||||||
doggo
|
doggo
|
||||||
tldr
|
tldr
|
||||||
|
btop
|
||||||
|
|
||||||
# Pretty necessary
|
# Pretty necessary
|
||||||
git
|
git
|
||||||
|
|
@ -235,6 +236,7 @@ in {
|
||||||
# ];
|
# ];
|
||||||
# })
|
# })
|
||||||
nerdfonts
|
nerdfonts
|
||||||
|
geist-font # for my hyprlock theme
|
||||||
|
|
||||||
# texlive maintains a noto-emoji flake
|
# texlive maintains a noto-emoji flake
|
||||||
texlivePackages.noto-emoji
|
texlivePackages.noto-emoji
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,36 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/4bf649ce-047b-472d-b392-4c2c326362d9";
|
device = "/dev/disk/by-uuid/4bf649ce-047b-472d-b392-4c2c326362d9";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/D97A-5260";
|
device = "/dev/disk/by-uuid/D97A-5260";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/bfa29193-4f83-46c3-bcb7-0d2b8323b6e0"; }
|
{device = "/dev/disk/by-uuid/bfa29193-4f83-46c3-bcb7-0d2b8323b6e0";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# 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
|
||||||
|
|
|
||||||
17
hosts/lolcathost/sddm-theme-corners.nix
Executable file
17
hosts/lolcathost/sddm-theme-corners.nix
Executable file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{pkgs}: {
|
||||||
|
sddm-theme-corners = pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "sddm-theme-corners";
|
||||||
|
#version = "1.0";
|
||||||
|
#dontBuild = true;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/sddm/themes
|
||||||
|
cp -ar $src/corners $out/share/sddm/themes/
|
||||||
|
'';
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "aczw";
|
||||||
|
repo = "sddm-theme-corners";
|
||||||
|
rev = "6ff0ff455261badcae36cd7d151a34479f157a3c";
|
||||||
|
sha256 = "0iiasrbl7ciyhq3z02la636as915zk9ph063ac7vm5iwny8vgwh8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,38 +1,31 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
|
|
||||||
let
|
|
||||||
home-manager = builtins.fetchTarball {
|
home-manager = builtins.fetchTarball {
|
||||||
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
||||||
sha256 = "0kg9iaixqygpncw7avgh1grwyjgnfc9i7k9pk8hc4xrvr8jv2l3c";
|
sha256 = "0kg9iaixqygpncw7avgh1grwyjgnfc9i7k9pk8hc4xrvr8jv2l3c";
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
(import "${home-manager}/nixos")
|
(import "${home-manager}/nixos")
|
||||||
inputs.spicetify-nix.nixosModules.default
|
inputs.spicetify-nix.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.spicetify =
|
programs.spicetify = let
|
||||||
let
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
in {
|
||||||
in
|
enable = true;
|
||||||
{
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
enable = true;
|
adblock
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
hidePodcasts
|
||||||
adblock
|
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||||
hidePodcasts
|
];
|
||||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
#theme = spicePkgs.themes.catppuccin;
|
||||||
];
|
#colorScheme = "mocha";
|
||||||
#theme = spicePkgs.themes.catppuccin;
|
};
|
||||||
#colorScheme = "mocha";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
# TODO: use GRUB2 instead
|
# TODO: use GRUB2 instead
|
||||||
|
|
@ -61,12 +54,11 @@ in
|
||||||
#useXkbConfig = true; # use xkb.options in tty.
|
#useXkbConfig = true; # use xkb.options in tty.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# ----- NETWORKING SECTION -----
|
# ----- NETWORKING SECTION -----
|
||||||
networking.hostName = "myputer";
|
networking.hostName = "myputer";
|
||||||
# Pick only one of the below networking options.
|
# Pick only one of the below networking options.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
|
@ -74,14 +66,13 @@ in
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
networking.firewall.enable = true;
|
networking.firewall.enable = true;
|
||||||
|
|
||||||
|
|
||||||
# ----- SERVICES -----
|
# ----- SERVICES -----
|
||||||
services = {
|
services = {
|
||||||
# Set display manager (login screen)
|
# Set display manager (login screen)
|
||||||
displayManager = {
|
displayManager = {
|
||||||
sddm = {
|
sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "${import ./sddm-theme.nix { inherit pkgs; }}";
|
theme = "${import ./sddm-theme.nix {inherit pkgs;}}";
|
||||||
# enable experimental sddm support for wayland
|
# enable experimental sddm support for wayland
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
};
|
};
|
||||||
|
|
@ -100,78 +91,78 @@ in
|
||||||
security.sudo.wheelNeedsPassword = false;
|
security.sudo.wheelNeedsPassword = false;
|
||||||
users = {
|
users = {
|
||||||
# using fish as the login shell tends
|
# using fish as the login shell tends
|
||||||
# to go very poorly because it isn't
|
# to go very poorly because it isn't
|
||||||
# POSIX compliant, so we'll just use
|
# POSIX compliant, so we'll just use
|
||||||
# simple Bash then :)
|
# simple Bash then :)
|
||||||
defaultUserShell = pkgs.bash;
|
defaultUserShell = pkgs.bash;
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
# just me fr (personal account)
|
# just me fr (personal account)
|
||||||
me = {
|
me = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = ["wheel"];
|
||||||
shell = pkgs.bash; #pkgs.fish
|
shell = pkgs.bash; #pkgs.fish
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
firefox
|
firefox
|
||||||
nitch
|
nitch
|
||||||
starfetch
|
starfetch
|
||||||
tldr
|
tldr
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# programming/development account
|
# programming/development account
|
||||||
dev = {
|
dev = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = ["wheel"];
|
||||||
shell = pkgs.bash; #pkgs.zsh
|
shell = pkgs.bash; #pkgs.zsh
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# user for my professional jobs and stuff
|
# user for my professional jobs and stuff
|
||||||
ae = {
|
ae = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = ["wheel"];
|
||||||
shell = pkgs.bash; #pkgs.fish
|
shell = pkgs.bash; #pkgs.fish
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
users.me = import ../../homes/me;
|
users.me = import ../../homes/me;
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
#inputs.nixcord.homeManagerModules.nixcord
|
#inputs.nixcord.homeManagerModules.nixcord
|
||||||
#inputs.nixvim.homeManagerModules.nixvim
|
#inputs.nixvim.homeManagerModules.nixvim
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# ---- SYSTEM PACKAGES -----
|
# ---- SYSTEM PACKAGES -----
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# User Environment
|
# User Environment
|
||||||
inputs.swww.packages.${pkgs.system}.swww
|
inputs.swww.packages.${pkgs.system}.swww
|
||||||
#vesktop
|
#vesktop
|
||||||
helvum
|
helvum
|
||||||
easyeffects
|
easyeffects
|
||||||
ani-cli
|
ani-cli
|
||||||
wl-clipboard # clipboard for wayland
|
wl-clipboard # clipboard for wayland
|
||||||
|
|
||||||
python311 # I use 3.11 since it's in a pretty stable state now
|
python311 # I use 3.11 since it's in a pretty stable state now
|
||||||
poetry # python dependency management and packaging
|
poetry # python dependency management and packaging
|
||||||
|
|
||||||
# fish plugins
|
# fish plugins
|
||||||
grc # colorise command outputs
|
grc # colorise command outputs
|
||||||
|
|
||||||
httpie
|
httpie
|
||||||
curlie
|
curlie
|
||||||
zoxide
|
zoxide
|
||||||
doggo
|
doggo
|
||||||
|
|
||||||
# Pretty necessary
|
# Pretty necessary
|
||||||
git
|
git
|
||||||
brightnessctl
|
brightnessctl
|
||||||
acpi
|
acpi
|
||||||
|
|
||||||
# Unix Commands
|
# Unix Commands
|
||||||
wget
|
wget
|
||||||
|
|
@ -181,19 +172,18 @@ in
|
||||||
# Enable the use of certain programs
|
# Enable the use of certain programs
|
||||||
programs = {
|
programs = {
|
||||||
hyprland = {
|
hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# set the flake package
|
# set the flake package
|
||||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||||
# make sure to also set the portal package, so that they are in sync
|
# make sure to also set the portal package, so that they are in sync
|
||||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
#systemd.enable = true;
|
#systemd.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
|
|
||||||
neovim = {
|
neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -202,77 +192,76 @@ in
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
configure = {
|
configure = {
|
||||||
customRC = ''
|
customRC = ''
|
||||||
set number
|
set number
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
set shiftwidth=4
|
set shiftwidth=4
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# I want to use fish as my login shell but it always goes terrible
|
# I want to use fish as my login shell but it always goes terrible
|
||||||
# cause it isn't POSIX compliant, so instead Bash is my login and
|
# cause it isn't POSIX compliant, so instead Bash is my login and
|
||||||
# will just exec fish (^-^)
|
# will just exec fish (^-^)
|
||||||
bash = {
|
bash = {
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||||
then
|
then
|
||||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ----- FONTS -----
|
# ----- FONTS -----
|
||||||
fonts = {
|
fonts = {
|
||||||
enableDefaultPackages = true; # no clue what this line does tbh
|
enableDefaultPackages = true; # no clue what this line does tbh
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
(nerdfonts.override { fonts = [ "Cousine" # its already i guess
|
(nerdfonts.override {
|
||||||
"Iosevka" # nah nah
|
fonts = [
|
||||||
"IosevkaTerm" # big nah
|
"Cousine" # its already i guess
|
||||||
"CascadiaCode" # potential
|
"Iosevka" # nah nah
|
||||||
"FiraCode" # potential
|
"IosevkaTerm" # big nah
|
||||||
"JetBrainsMono" # for my rofi theme
|
"CascadiaCode" # potential
|
||||||
"Hasklig"
|
"FiraCode" # potential
|
||||||
"Hack"]; })
|
"JetBrainsMono" # for my rofi theme
|
||||||
|
"Hasklig"
|
||||||
# texlive maintains a noto-emoji flake
|
"Hack"
|
||||||
texlivePackages.noto-emoji
|
];
|
||||||
];
|
})
|
||||||
|
|
||||||
fontconfig = {
|
# texlive maintains a noto-emoji flake
|
||||||
defaultFonts = {
|
texlivePackages.noto-emoji
|
||||||
serif = [ "Iosevka" ]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font
|
];
|
||||||
sansSerif = [ "Iosevka "];
|
|
||||||
monospace = [ "Cousine" ];
|
fontconfig = {
|
||||||
emoji = [ "Noto Emoji" ];
|
defaultFonts = {
|
||||||
};
|
serif = ["Iosevka"]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font
|
||||||
};
|
sansSerif = ["Iosevka "];
|
||||||
|
monospace = ["Cousine"];
|
||||||
|
emoji = ["Noto Emoji"];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# ----- STYLIX -----
|
# ----- STYLIX -----
|
||||||
|
|
||||||
#stylix = {
|
#stylix = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# image = pkgs.fetchurl {
|
# image = pkgs.fetchurl {
|
||||||
# url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg";
|
# url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg";
|
||||||
# sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50=";
|
# sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50=";
|
||||||
# };
|
# };
|
||||||
#
|
#
|
||||||
# # Stylix will automatically theme applications
|
# # Stylix will automatically theme applications
|
||||||
# #autoEnable = true;
|
# #autoEnable = true;
|
||||||
# #image = ../../wallpapers/wall.png;
|
# #image = ../../wallpapers/wall.png;
|
||||||
# #image = "/home/me/nixdots/wallpapers/ghibli-esque-valley.png";
|
# #image = "/home/me/nixdots/wallpapers/ghibli-esque-valley.png";
|
||||||
#};
|
#};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Enable the new CLI commands and the flakes as experimental features
|
# Enable the new CLI commands and the flakes as experimental features
|
||||||
nix.settings.experimental-features = [
|
nix.settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -287,16 +276,11 @@ in
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
# services.openssh.enable = true;
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
|
|
||||||
# Enable OpenGL
|
# Enable OpenGL
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics.enable = true;
|
graphics.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# DO NOT MODIFY
|
# DO NOT MODIFY
|
||||||
system.stateVersion = "24.05"; # Did you read the comment?
|
system.stateVersion = "24.05"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,39 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/ff19e1b0-cacc-4270-a94b-7922f7224ae2";
|
device = "/dev/disk/by-uuid/ff19e1b0-cacc-4270-a94b-7922f7224ae2";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
#fileSystems."/boot" = # BIOS
|
#fileSystems."/boot" = # BIOS
|
||||||
fileSystems."/boot" = # UEFI
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/7046-177A";
|
# UEFI
|
||||||
|
{
|
||||||
|
device = "/dev/disk/by-uuid/7046-177A";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/7f7e9d69-78e0-49f1-b792-6be26ed8e040"; }
|
{device = "/dev/disk/by-uuid/7f7e9d69-78e0-49f1-b792-6be26ed8e040";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# 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
|
||||||
|
|
|
||||||
1
try-this
1
try-this
|
|
@ -1 +0,0 @@
|
||||||
nixos-rebuild build --flake .# --cores 8 -j 1
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue