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
|
||||
4. https://github.com/adi1090x/rofi
|
||||
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
|
||||
- btop/htop/etc
|
||||
|
|
@ -24,12 +30,6 @@ Overtime just install more programs that I need regularly: ie
|
|||
|
||||
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)
|
||||
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
Are there plugins for helix?
|
||||
|
||||
|
||||
Search for all "TODO" items in my nix dotfiles
|
||||
|
||||
Push nixdots to github
|
||||
|
||||
|
||||
|
||||
|
||||
Check out the Ekala Project (I joined their discord server)
|
||||
|
||||
|
||||
Create a program that enables/disables passwordless sudo access
|
||||
(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
|
||||
|
||||
|
||||
|
||||
|
||||
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)
|
||||
But firstly the first code snippet is wrong...
|
||||
|
|
|
|||
1
deploy
1
deploy
|
|
@ -1,2 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
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?)
|
||||
qt = {
|
||||
enable = true;
|
||||
style = {
|
||||
name = "Dracula";
|
||||
package = pkgs.dracula-qt5-theme;
|
||||
platformTheme.name = "gtk2";
|
||||
style.name = "gtk2";
|
||||
};
|
||||
|
||||
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 = {
|
||||
# these are both required for home-manager to work
|
||||
home-manager.enable = true;
|
||||
|
|
@ -138,6 +359,7 @@
|
|||
completion-replace = true; # completions replace entire word
|
||||
|
||||
indent-heuristic = "tree-sitter"; # how indentation is computed
|
||||
# TODO: make this configurable (enabled on myputer, disabled on lolcathost)
|
||||
middle-click-paste = true;
|
||||
insert-final-newline = true; # append newline to file on write
|
||||
|
||||
|
|
@ -361,7 +583,7 @@
|
|||
|
||||
# Run when the `OpenConfigEditor` keybinding is triggered
|
||||
editor = {
|
||||
program = "nvim";
|
||||
program = "hx"; # helix
|
||||
args = [];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -66,18 +66,17 @@ in {
|
|||
# ----- SERVICES -----
|
||||
services = {
|
||||
# Set display manager (login screen)
|
||||
#displayManager = {
|
||||
# sddm = {
|
||||
# enable = true;
|
||||
# #theme = "${import ./sddm-theme.nix { inherit pkgs; }}";
|
||||
# wayland.enable = true; # enable experimental sddm support for wayland
|
||||
# };
|
||||
# defaultSession = "hyprland";
|
||||
#};
|
||||
displayManager = {
|
||||
sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true; # enable experimental sddm support for wayland
|
||||
theme = "${import ./sddm-theme-corners.nix {inherit pkgs;}}";
|
||||
};
|
||||
defaultSession = "hyprland";
|
||||
};
|
||||
|
||||
# Enable sound
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
#hardware.pulseaudio.enable = false;
|
||||
pipewire = {
|
||||
enable = true;
|
||||
|
||||
|
|
@ -95,6 +94,7 @@ in {
|
|||
tumbler.enable = true; # Thunar image thumbnail support
|
||||
gvfs.enable = true; # Thunar mount, trash, and other functionality
|
||||
};
|
||||
security.rtkit.enable = true;
|
||||
|
||||
# allow wheel group to use passwordless sudo
|
||||
users = {
|
||||
|
|
@ -174,6 +174,7 @@ in {
|
|||
zoxide
|
||||
doggo
|
||||
tldr
|
||||
btop
|
||||
|
||||
# Pretty necessary
|
||||
git
|
||||
|
|
@ -235,6 +236,7 @@ in {
|
|||
# ];
|
||||
# })
|
||||
nerdfonts
|
||||
geist-font # for my hyprlock theme
|
||||
|
||||
# texlive maintains a noto-emoji flake
|
||||
texlivePackages.noto-emoji
|
||||
|
|
|
|||
|
|
@ -1,32 +1,36 @@
|
|||
# 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")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/4bf649ce-047b-472d-b392-4c2c326362d9";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/4bf649ce-047b-472d-b392-4c2c326362d9";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/D97A-5260";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/D97A-5260";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0077" "dmask=0077"];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/bfa29193-4f83-46c3-bcb7-0d2b8323b6e0"; }
|
||||
];
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/bfa29193-4f83-46c3-bcb7-0d2b8323b6e0";}
|
||||
];
|
||||
|
||||
# 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
|
||||
|
|
|
|||
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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -2,37 +2,30 @@
|
|||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
}: let
|
||||
home-manager = builtins.fetchTarball {
|
||||
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
||||
sha256 = "0kg9iaixqygpncw7avgh1grwyjgnfc9i7k9pk8hc4xrvr8jv2l3c";
|
||||
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
||||
sha256 = "0kg9iaixqygpncw7avgh1grwyjgnfc9i7k9pk8hc4xrvr8jv2l3c";
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
(import "${home-manager}/nixos")
|
||||
inputs.spicetify-nix.nixosModules.default
|
||||
(import "${home-manager}/nixos")
|
||||
inputs.spicetify-nix.nixosModules.default
|
||||
];
|
||||
|
||||
programs.spicetify =
|
||||
let
|
||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
];
|
||||
#theme = spicePkgs.themes.catppuccin;
|
||||
#colorScheme = "mocha";
|
||||
};
|
||||
|
||||
|
||||
programs.spicetify = let
|
||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||
in {
|
||||
enable = true;
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
];
|
||||
#theme = spicePkgs.themes.catppuccin;
|
||||
#colorScheme = "mocha";
|
||||
};
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
# TODO: use GRUB2 instead
|
||||
|
|
@ -61,12 +54,11 @@ in
|
|||
#useXkbConfig = true; # use xkb.options in tty.
|
||||
};
|
||||
|
||||
|
||||
# ----- NETWORKING SECTION -----
|
||||
networking.hostName = "myputer";
|
||||
# Pick only one of the below networking options.
|
||||
# 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.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
|
|
@ -74,14 +66,13 @@ in
|
|||
# Or disable the firewall altogether.
|
||||
networking.firewall.enable = true;
|
||||
|
||||
|
||||
# ----- SERVICES -----
|
||||
services = {
|
||||
# Set display manager (login screen)
|
||||
displayManager = {
|
||||
sddm = {
|
||||
enable = true;
|
||||
theme = "${import ./sddm-theme.nix { inherit pkgs; }}";
|
||||
theme = "${import ./sddm-theme.nix {inherit pkgs;}}";
|
||||
# enable experimental sddm support for wayland
|
||||
wayland.enable = true;
|
||||
};
|
||||
|
|
@ -100,78 +91,78 @@ in
|
|||
security.sudo.wheelNeedsPassword = false;
|
||||
users = {
|
||||
# using fish as the login shell tends
|
||||
# to go very poorly because it isn't
|
||||
# POSIX compliant, so we'll just use
|
||||
# simple Bash then :)
|
||||
# to go very poorly because it isn't
|
||||
# POSIX compliant, so we'll just use
|
||||
# simple Bash then :)
|
||||
defaultUserShell = pkgs.bash;
|
||||
|
||||
users = {
|
||||
# just me fr (personal account)
|
||||
me = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
shell = pkgs.bash; #pkgs.fish
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
nitch
|
||||
starfetch
|
||||
tldr
|
||||
];
|
||||
};
|
||||
users = {
|
||||
# just me fr (personal account)
|
||||
me = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel"];
|
||||
shell = pkgs.bash; #pkgs.fish
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
nitch
|
||||
starfetch
|
||||
tldr
|
||||
];
|
||||
};
|
||||
|
||||
# programming/development account
|
||||
dev = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
shell = pkgs.bash; #pkgs.zsh
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
# programming/development account
|
||||
dev = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel"];
|
||||
shell = pkgs.bash; #pkgs.zsh
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
|
||||
# user for my professional jobs and stuff
|
||||
ae = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
shell = pkgs.bash; #pkgs.fish
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
};
|
||||
# user for my professional jobs and stuff
|
||||
ae = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel"];
|
||||
shell = pkgs.bash; #pkgs.fish
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
users.me = import ../../homes/me;
|
||||
sharedModules = [
|
||||
#inputs.nixcord.homeManagerModules.nixcord
|
||||
#inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
#inputs.nixcord.homeManagerModules.nixcord
|
||||
#inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
};
|
||||
|
||||
# ---- SYSTEM PACKAGES -----
|
||||
environment.systemPackages = with pkgs; [
|
||||
# User Environment
|
||||
inputs.swww.packages.${pkgs.system}.swww
|
||||
inputs.swww.packages.${pkgs.system}.swww
|
||||
#vesktop
|
||||
helvum
|
||||
easyeffects
|
||||
ani-cli
|
||||
wl-clipboard # clipboard for wayland
|
||||
helvum
|
||||
easyeffects
|
||||
ani-cli
|
||||
wl-clipboard # clipboard for wayland
|
||||
|
||||
python311 # I use 3.11 since it's in a pretty stable state now
|
||||
poetry # python dependency management and packaging
|
||||
python311 # I use 3.11 since it's in a pretty stable state now
|
||||
poetry # python dependency management and packaging
|
||||
|
||||
# fish plugins
|
||||
grc # colorise command outputs
|
||||
grc # colorise command outputs
|
||||
|
||||
httpie
|
||||
curlie
|
||||
zoxide
|
||||
doggo
|
||||
curlie
|
||||
zoxide
|
||||
doggo
|
||||
|
||||
# Pretty necessary
|
||||
git
|
||||
brightnessctl
|
||||
acpi
|
||||
acpi
|
||||
|
||||
# Unix Commands
|
||||
wget
|
||||
|
|
@ -181,19 +172,18 @@ in
|
|||
# Enable the use of certain programs
|
||||
programs = {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
# set the flake package
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
enable = true;
|
||||
# set the flake package
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
# 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;
|
||||
|
||||
xwayland.enable = true;
|
||||
#systemd.enable = true;
|
||||
};
|
||||
|
||||
#systemd.enable = true;
|
||||
};
|
||||
|
||||
zsh.enable = true;
|
||||
fish.enable = true;
|
||||
fish.enable = true;
|
||||
|
||||
neovim = {
|
||||
enable = true;
|
||||
|
|
@ -202,57 +192,58 @@ in
|
|||
vimAlias = true;
|
||||
configure = {
|
||||
customRC = ''
|
||||
set number
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set number
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# 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
|
||||
# will just exec fish (^-^)
|
||||
bash = {
|
||||
# cause it isn't POSIX compliant, so instead Bash is my login and
|
||||
# will just exec fish (^-^)
|
||||
bash = {
|
||||
interactiveShellInit = ''
|
||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||
then
|
||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||
fi
|
||||
'';
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
# ----- FONTS -----
|
||||
fonts = {
|
||||
enableDefaultPackages = true; # no clue what this line does tbh
|
||||
packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [ "Cousine" # its already i guess
|
||||
"Iosevka" # nah nah
|
||||
"IosevkaTerm" # big nah
|
||||
"CascadiaCode" # potential
|
||||
"FiraCode" # potential
|
||||
"JetBrainsMono" # for my rofi theme
|
||||
"Hasklig"
|
||||
"Hack"]; })
|
||||
(nerdfonts.override {
|
||||
fonts = [
|
||||
"Cousine" # its already i guess
|
||||
"Iosevka" # nah nah
|
||||
"IosevkaTerm" # big nah
|
||||
"CascadiaCode" # potential
|
||||
"FiraCode" # potential
|
||||
"JetBrainsMono" # for my rofi theme
|
||||
"Hasklig"
|
||||
"Hack"
|
||||
];
|
||||
})
|
||||
|
||||
# texlive maintains a noto-emoji flake
|
||||
texlivePackages.noto-emoji
|
||||
];
|
||||
# texlive maintains a noto-emoji flake
|
||||
texlivePackages.noto-emoji
|
||||
];
|
||||
|
||||
fontconfig = {
|
||||
defaultFonts = {
|
||||
serif = [ "Iosevka" ]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font
|
||||
sansSerif = [ "Iosevka "];
|
||||
monospace = [ "Cousine" ];
|
||||
emoji = [ "Noto Emoji" ];
|
||||
};
|
||||
};
|
||||
fontconfig = {
|
||||
defaultFonts = {
|
||||
serif = ["Iosevka"]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font
|
||||
sansSerif = ["Iosevka "];
|
||||
monospace = ["Cousine"];
|
||||
emoji = ["Noto Emoji"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# ----- STYLIX -----
|
||||
|
||||
#stylix = {
|
||||
|
|
@ -268,8 +259,6 @@ in
|
|||
# #image = "/home/me/nixdots/wallpapers/ghibli-esque-valley.png";
|
||||
#};
|
||||
|
||||
|
||||
|
||||
# Enable the new CLI commands and the flakes as experimental features
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
|
|
@ -287,16 +276,11 @@ in
|
|||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
|
||||
# Enable OpenGL
|
||||
hardware = {
|
||||
graphics.enable = true;
|
||||
};
|
||||
|
||||
|
||||
|
||||
# DO NOT MODIFY
|
||||
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’
|
||||
# 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")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/ff19e1b0-cacc-4270-a94b-7922f7224ae2";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/ff19e1b0-cacc-4270-a94b-7922f7224ae2";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
#fileSystems."/boot" = # BIOS
|
||||
fileSystems."/boot" = # UEFI
|
||||
{ device = "/dev/disk/by-uuid/7046-177A";
|
||||
fileSystems."/boot" =
|
||||
# UEFI
|
||||
{
|
||||
device = "/dev/disk/by-uuid/7046-177A";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
options = ["fmask=0077" "dmask=0077"];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/7f7e9d69-78e0-49f1-b792-6be26ed8e040"; }
|
||||
];
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/7f7e9d69-78e0-49f1-b792-6be26ed8e040";}
|
||||
];
|
||||
|
||||
# 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
|
||||
|
|
|
|||
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