feat/nix #3
39 changed files with 900 additions and 16 deletions
2
.envrc
Normal file
2
.envrc
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
use flake
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
||||||
venv/
|
venv/
|
||||||
|
.direnv
|
||||||
|
|
4
.helix/languages.toml
Normal file
4
.helix/languages.toml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[[language]]
|
||||||
|
name = "nix"
|
||||||
|
auto-format = true
|
||||||
|
formatter = { command = "alejandra" }
|
7
bar/default.nix
Normal file
7
bar/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./eww
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
20
bar/eww/default.nix
Normal file
20
bar/eww/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.file = {
|
||||||
|
".config/eww".source = ../eww;
|
||||||
|
# Eww-barD script
|
||||||
|
".local/bin/eww-bard" = {
|
||||||
|
source = ../../bin/eww-bard;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.eww
|
||||||
|
# Script dependencies
|
||||||
|
pkgs.jq
|
||||||
|
pkgs.dash
|
||||||
|
pkgs.socat
|
||||||
|
pkgs.pamixer
|
||||||
|
pkgs.pavucontrol
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
info (){
|
info (){
|
||||||
power=$(bluetoothctl show | grep Powered | awk '{print $2}' | sed 's/yes/on/g; s/no/off/g')
|
power=$(bluetoothctl show | grep Powered | awk '{print $2}' | sed 's/yes/on/g; s/no/off/g')
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/dash
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
print_state() {
|
print_state() {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
info (){
|
info (){
|
||||||
title=$(playerctl metadata xesam:title 2> /dev/null)
|
title=$(playerctl metadata xesam:title 2> /dev/null)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
volume (){
|
volume (){
|
||||||
vol=$(pamixer --get-volume-human)
|
vol=$(pamixer --get-volume-human)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/dash
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
function clamp {
|
function clamp {
|
||||||
min=$1
|
min=$1
|
||||||
max=$2
|
max=$2
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/dash
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
spaces (){
|
spaces (){
|
||||||
hyprctl workspaces -j | jq -c 'map({id: .id, windows: .windows, monitor: .monitorID}) | sort_by(.id)'
|
hyprctl workspaces -j | jq -c 'map({id: .id, windows: .windows, monitor: .monitorID}) | sort_by(.id)'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/dash
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
profile="$(powerprofilesctl get)"
|
profile="$(powerprofilesctl get)"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/dash
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
refresh_rate=$(hyprctl -j monitors | jq '.[0].refreshRate | round')
|
refresh_rate=$(hyprctl -j monitors | jq '.[0].refreshRate | round')
|
||||||
|
|
||||||
if [ "$1" = "toggle" ]; then
|
if [ "$1" = "toggle" ]; then
|
||||||
|
|
|
@ -9,6 +9,6 @@ export XDG_CONFIG_HOME="${HOME}/.config"
|
||||||
# Execution
|
# Execution
|
||||||
exec ssh-agent \
|
exec ssh-agent \
|
||||||
dbus-launch --exit-with-session \
|
dbus-launch --exit-with-session \
|
||||||
/usr/bin/Hyprland \
|
hyprland \
|
||||||
"$@"
|
"$@"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/dash
|
#!/usr/bin/env dash
|
||||||
|
|
||||||
# Monitor duplication daemon
|
# Monitor duplication daemon
|
||||||
WIDGET_NAME=bar
|
WIDGET_NAME=bar
|
||||||
|
|
2
bin/jaaj
2
bin/jaaj
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
jaajs = [
|
jaajs = [
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
xmodmap -e "keycode 10 = 1"
|
xmodmap -e "keycode 10 = 1"
|
||||||
xmodmap -e "keycode 11 = 2"
|
xmodmap -e "keycode 11 = 2"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
alacritty --class "uwu-uwu" -e /usr/bin/bash -c "uwu | dotacat && read" &
|
alacritty --class "uwu-uwu" -e /usr/bin/bash -c "uwu | dotacat && read" &
|
||||||
alacritty --class "uwu-neofetch" -e /usr/bin/bash -c "echo '' && neofetch && read" &
|
alacritty --class "uwu-neofetch" -e /usr/bin/bash -c "echo '' && neofetch && read" &
|
||||||
|
|
6
de/default.nix
Normal file
6
de/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hypr
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
58
de/hypr/default.nix
Normal file
58
de/hypr/default.nix
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.file = {
|
||||||
|
".config/hypr/hyprland.conf.d".source = ./hyprland.conf.d;
|
||||||
|
# Hyprland launch wrapper
|
||||||
|
".local/bin/Hyprland" = {
|
||||||
|
source = ../../bin/Hyprland;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
# UWU launcher script
|
||||||
|
".local/bin/uwu-launcher" = {
|
||||||
|
source = ../../bin/uwu-launcher;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
# Togglescreen script
|
||||||
|
".local/bin/togglescreen" = {
|
||||||
|
source = ../../bin/togglescreen;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.egl-wayland # For NVIDIA compatibility
|
||||||
|
pkgs.xdg-desktop-portal-hyprland
|
||||||
|
# Common DE packages required in config
|
||||||
|
pkgs.wl-clipboard-rs
|
||||||
|
pkgs.grim
|
||||||
|
pkgs.slurp
|
||||||
|
pkgs.hyprpicker
|
||||||
|
pkgs.udiskie
|
||||||
|
pkgs.swww
|
||||||
|
# Apps launchable from bindings
|
||||||
|
pkgs.firefox
|
||||||
|
pkgs.kitty
|
||||||
|
pkgs.yazi
|
||||||
|
# Theme
|
||||||
|
pkgs.bibata-cursors
|
||||||
|
pkgs.qogir-theme
|
||||||
|
pkgs.qogir-icon-theme
|
||||||
|
];
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = builtins.readFile ./hyprland.conf;
|
||||||
|
plugins = [inputs.hy3.packages.${pkgs.system}.hy3];
|
||||||
|
};
|
||||||
|
|
||||||
|
# bar is required
|
||||||
|
imports = [
|
||||||
|
../../bar
|
||||||
|
../../term/alacritty
|
||||||
|
../../misc/swayosd
|
||||||
|
../../misc/anyrun
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,10 +1,10 @@
|
||||||
# Startup
|
# Startup
|
||||||
|
|
||||||
exec-once = hyprpm reload -n
|
|
||||||
exec-once = artix-pipewire-launcher restart
|
exec-once = artix-pipewire-launcher restart
|
||||||
exec-once = end-rs daemon
|
exec-once = end-rs daemon
|
||||||
exec-once = wallpaperctl daemon
|
exec-once = wallpaperctl daemon
|
||||||
exec-once = swayosd-server
|
exec-once = swayosd-server
|
||||||
exec-once = udiskie
|
exec-once = udiskie
|
||||||
exec-once = eww-bard
|
exec-once = eww-bard
|
||||||
|
exec-once = hyprctl setcursor Bibata-Modern-Classic 24
|
||||||
exec-once = dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
exec-once = dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
|
5
editor/default.nix
Normal file
5
editor/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./helix
|
||||||
|
];
|
||||||
|
}
|
15
editor/helix/default.nix
Normal file
15
editor/helix/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.helix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".config/helix/config.toml".source = ./config.toml;
|
||||||
|
".config/helix/languages.toml".source = ./languages.toml;
|
||||||
|
".config/helix/themes/jaaj.toml".source = ./themes/jaaj.toml;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "hx";
|
||||||
|
};
|
||||||
|
}
|
368
flake.lock
Normal file
368
flake.lock
Normal file
|
@ -0,0 +1,368 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"aquamarine": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725199881,
|
||||||
|
"narHash": "sha256-jsmipf/u1GFZE5tBUkr56CHMN6VpUWCAjfLIhvQijU0=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"rev": "f8a687dd29ff019657498f1bd14da2fbbf0e604b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"disko": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1726838624,
|
||||||
|
"narHash": "sha256-SU40aZ/UyK4bhuanaWvqlhIw2/kiDrGYcKxCkTn5FP8=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"rev": "0fe779905ffe730eace0bf7ecf56938c625012a5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1726440980,
|
||||||
|
"narHash": "sha256-ChhIrjtdu5d83W+YDRH+Ec5g1MmM0xk6hJnkz15Ot7M=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "a9c9cc6e50f7cbd2d58ccb1cd46a1e06e9e445ff",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hy3": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland": "hyprland"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725825817,
|
||||||
|
"narHash": "sha256-hBvwaMlgBuR2cB1Kx6cA1z7x38HXUujNcHtBsKhaEZs=",
|
||||||
|
"owner": "outfoxxed",
|
||||||
|
"repo": "hy3",
|
||||||
|
"rev": "4b194eb5486b89102726ad5f4492bb3440c46031",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "outfoxxed",
|
||||||
|
"repo": "hy3",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprcursor": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1722623071,
|
||||||
|
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland": {
|
||||||
|
"inputs": {
|
||||||
|
"aquamarine": "aquamarine",
|
||||||
|
"hyprcursor": "hyprcursor",
|
||||||
|
"hyprlang": "hyprlang",
|
||||||
|
"hyprutils": "hyprutils",
|
||||||
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"systems": "systems",
|
||||||
|
"xdph": "xdph"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725814101,
|
||||||
|
"narHash": "sha256-+wE97utoDfhQP6AMdZHUmBeL8grbce/Jv2i5M+6AbaE=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "0f594732b063a90d44df8c5d402d658f27471dfe",
|
||||||
|
"revCount": 5196,
|
||||||
|
"submodules": true,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"rev": "0f594732b063a90d44df8c5d402d658f27471dfe",
|
||||||
|
"submodules": true,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-protocols": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"xdph",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"xdph",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721326555,
|
||||||
|
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprlang": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725188252,
|
||||||
|
"narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"rev": "c12ab785ce1982f82594aff03b3104c598186ddd",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprutils": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724966483,
|
||||||
|
"narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprutils",
|
||||||
|
"rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprutils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprwayland-scanner": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721324119,
|
||||||
|
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwayland-scanner",
|
||||||
|
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwayland-scanner",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725103162,
|
||||||
|
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1726243404,
|
||||||
|
"narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"disko": "disko",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"hy3": "hy3",
|
||||||
|
"hyprland": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland"
|
||||||
|
],
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xdph": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
"hyprlang": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hy3",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725203932,
|
||||||
|
"narHash": "sha256-VLULC/OnI+6R9KEP2OIGk+uLJJsfRlaLouZ5gyFd2+Y=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"rev": "2425e8f541525fa7409d9f26a8ffaf92a3767251",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
81
flake.nix
Normal file
81
flake.nix
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
{
|
||||||
|
description = "Configuration Home Manager jaajesque";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
disko = {
|
||||||
|
url = "github:nix-community/disko";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Hyprland
|
||||||
|
hyprland = {
|
||||||
|
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
|
follows = "hy3/hyprland";
|
||||||
|
};
|
||||||
|
hy3 = {
|
||||||
|
url = "github:outfoxxed/hy3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
disko,
|
||||||
|
home-manager,
|
||||||
|
...
|
||||||
|
} @ inputs: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in {
|
||||||
|
nixosConfigurations = {
|
||||||
|
Zephyrus = nixpkgs.lib.nixosSystem {
|
||||||
|
extraArgs = {inherit inputs;};
|
||||||
|
modules = [
|
||||||
|
./hosts/Zephyrus
|
||||||
|
disko.nixosModules.disko
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
homeConfigurations = {
|
||||||
|
"gaspard" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
|
|
||||||
|
extraSpecialArgs = {inherit inputs;};
|
||||||
|
modules = [
|
||||||
|
./users/gaspard.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"culisg@im2ag" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
|
|
||||||
|
extraSpecialArgs = {inherit inputs;};
|
||||||
|
modules = [
|
||||||
|
./users/culisg.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
|
git
|
||||||
|
helix
|
||||||
|
pkgs.home-manager
|
||||||
|
alejandra
|
||||||
|
nil
|
||||||
|
];
|
||||||
|
|
||||||
|
shellHook = ''
|
||||||
|
export EDITOR=hx
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
86
hosts/Zephyrus/default.nix
Normal file
86
hosts/Zephyrus/default.nix
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Nix
|
||||||
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Paris";
|
||||||
|
|
||||||
|
console.keyMap = "fr";
|
||||||
|
|
||||||
|
# Network & Bluetooth
|
||||||
|
networking.wireless.iwd.enable = true;
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
hardware.pulseaudio.enable = true;
|
||||||
|
|
||||||
|
# Services
|
||||||
|
services.seatd.enable = true;
|
||||||
|
services.blueman.enable = true;
|
||||||
|
services.pipewire.pulse.enable = true;
|
||||||
|
services.power-profiles-daemon.enable = true;
|
||||||
|
|
||||||
|
# Programs
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.git
|
||||||
|
pkgs.ncdu
|
||||||
|
pkgs.neofetch
|
||||||
|
pkgs.bottom
|
||||||
|
pkgs.htop
|
||||||
|
pkgs.iwgtk
|
||||||
|
];
|
||||||
|
|
||||||
|
# NVIDIA
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) ["nvidia-x11" "nvidia-settings"];
|
||||||
|
|
||||||
|
hardware.graphics.enable = true;
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
|
hardware.nvidia = {
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
open = false; # Bruuh
|
||||||
|
|
||||||
|
prime = {
|
||||||
|
amdgpuBusId = "PCI:7:0:0";
|
||||||
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# User config
|
||||||
|
users.groups.gaspard = {
|
||||||
|
name = "gaspard";
|
||||||
|
};
|
||||||
|
users.users.gaspard = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"video"
|
||||||
|
"seat"
|
||||||
|
"audio"
|
||||||
|
];
|
||||||
|
group = "gaspard";
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = {inherit inputs;};
|
||||||
|
users = {
|
||||||
|
"gaspard" = import ../../users/gaspard.nix;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
}
|
80
hosts/Zephyrus/disko-config.nix
Normal file
80
hosts/Zephyrus/disko-config.nix
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
{
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
samsung980 = {
|
||||||
|
device = "/dev/nvme0n1";
|
||||||
|
type = "disk";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
ESP = {
|
||||||
|
type = "EF00";
|
||||||
|
size = "500M";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
luks = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "luks";
|
||||||
|
name = "crypted";
|
||||||
|
settings = {
|
||||||
|
allowDiscards = true;
|
||||||
|
# askPassword = true;
|
||||||
|
};
|
||||||
|
content = {
|
||||||
|
type = "lvm_pv";
|
||||||
|
vg = "zephyrus_vg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lvm_vg = {
|
||||||
|
zephyrus_vg = {
|
||||||
|
type = "lvm_vg";
|
||||||
|
lvs = {
|
||||||
|
swap = {
|
||||||
|
size = "16G";
|
||||||
|
content = {
|
||||||
|
type = "swap";
|
||||||
|
resumeDevice = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
root = {
|
||||||
|
size = "64G";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/";
|
||||||
|
mountOptions = [
|
||||||
|
"defaults"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
var = {
|
||||||
|
size = "32G";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/var";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home = {
|
||||||
|
size = "100%FREE";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/home";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
43
hosts/Zephyrus/hardware-configuration.nix
Normal file
43
hosts/Zephyrus/hardware-configuration.nix
Normal file
|
@ -0,0 +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,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
./disko-config.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
kernelModules = ["kvm-amd"];
|
||||||
|
extraModulePackages = [];
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = ["nvme" "xhci_pci" "usbhid" "sdhci_pci"];
|
||||||
|
kernelModules = [];
|
||||||
|
};
|
||||||
|
loader = {
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "nodev";
|
||||||
|
efiSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# 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.enp3s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp7s0f4u2.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
9
misc/anyrun/default.nix
Normal file
9
misc/anyrun/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.file = {
|
||||||
|
".config/anyrun".source = ../anyrun;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.anyrun
|
||||||
|
];
|
||||||
|
}
|
9
misc/swayosd/default.nix
Normal file
9
misc/swayosd/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.file = {
|
||||||
|
".config/swayosd/style.css".source = ./style.css;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.swayosd
|
||||||
|
];
|
||||||
|
}
|
|
@ -13,7 +13,7 @@ fi
|
||||||
# Start in zellij by default
|
# Start in zellij by default
|
||||||
export ZELLIJ_AUTO_EXIT=true
|
export ZELLIJ_AUTO_EXIT=true
|
||||||
export ZELLIJ_CONFIG_FILE=~/.config/zellij/config.kdl
|
export ZELLIJ_CONFIG_FILE=~/.config/zellij/config.kdl
|
||||||
eval "$(zellij setup --generate-auto-start bash)"
|
# eval "$(zellij setup --generate-auto-start bash)"
|
||||||
|
|
||||||
# fnm
|
# fnm
|
||||||
FNM_PATH="$HOME/.local/share/fnm"
|
FNM_PATH="$HOME/.local/share/fnm"
|
||||||
|
|
|
@ -23,7 +23,7 @@ fi
|
||||||
bind '"\e[A":history-search-backward'
|
bind '"\e[A":history-search-backward'
|
||||||
bind '"\e[B":history-search-forward'
|
bind '"\e[B":history-search-forward'
|
||||||
|
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
export PATH="$HOME/.local/bin:$HOME/.nix-profile/bin:$PATH"
|
||||||
|
|
||||||
export EDITOR="hx"
|
export EDITOR="hx"
|
||||||
|
|
||||||
|
|
19
shell/bash/default.nix
Normal file
19
shell/bash/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
} : {
|
||||||
|
programs.bash = {
|
||||||
|
enable = true;
|
||||||
|
bashrcExtra = ". ${./.bashrc}";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".bash_aliases".source = ./.bash_aliases;
|
||||||
|
".bash_exec".source = ./.bash_exec;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.starship
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
6
shell/default.nix
Normal file
6
shell/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./bash
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
18
term/alacritty/default.nix
Normal file
18
term/alacritty/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
} : {
|
||||||
|
home.file = {
|
||||||
|
".config/alacritty/alacritty.toml".source = ./alacritty.toml;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.alacritty
|
||||||
|
pkgs.fira-code-nerdfont
|
||||||
|
];
|
||||||
|
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
6
term/default.nix
Normal file
6
term/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./alacritty
|
||||||
|
./zellij
|
||||||
|
];
|
||||||
|
}
|
9
term/zellij/default.nix
Normal file
9
term/zellij/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.file = {
|
||||||
|
".config/zellij/config.kdl".source = ./config.kdl;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.zellij
|
||||||
|
];
|
||||||
|
}
|
15
users/culisg.nix
Normal file
15
users/culisg.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
home.username = "culisg";
|
||||||
|
home.homeDirectory = "/home/c/culisg";
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
programs.direnv.enable = true;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../shell
|
||||||
|
../term
|
||||||
|
../editor
|
||||||
|
../de
|
||||||
|
];
|
||||||
|
}
|
15
users/gaspard.nix
Normal file
15
users/gaspard.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{...}: {
|
||||||
|
home.username = "gaspard";
|
||||||
|
home.homeDirectory = "/home/gaspard";
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
programs.direnv.enable = true;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../shell
|
||||||
|
../term
|
||||||
|
../editor
|
||||||
|
../de
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in a new issue