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/
|
||||
.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 (){
|
||||
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() {
|
||||
case "$1" in
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env dash
|
||||
|
||||
info (){
|
||||
title=$(playerctl metadata xesam:title 2> /dev/null)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
volume (){
|
||||
vol=$(pamixer --get-volume-human)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#!/bin/dash
|
||||
#!/usr/bin/env dash
|
||||
|
||||
function clamp {
|
||||
min=$1
|
||||
max=$2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/dash
|
||||
#!/usr/bin/env dash
|
||||
|
||||
spaces (){
|
||||
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)"
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#!/bin/dash
|
||||
#!/usr/bin/env dash
|
||||
|
||||
refresh_rate=$(hyprctl -j monitors | jq '.[0].refreshRate | round')
|
||||
|
||||
if [ "$1" = "toggle" ]; then
|
||||
|
|
|
@ -9,6 +9,6 @@ export XDG_CONFIG_HOME="${HOME}/.config"
|
|||
# Execution
|
||||
exec ssh-agent \
|
||||
dbus-launch --exit-with-session \
|
||||
/usr/bin/Hyprland \
|
||||
hyprland \
|
||||
"$@"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/dash
|
||||
#!/usr/bin/env dash
|
||||
|
||||
# Monitor duplication daemon
|
||||
WIDGET_NAME=bar
|
||||
|
|
2
bin/jaaj
2
bin/jaaj
|
@ -1,4 +1,4 @@
|
|||
#!/usr/bin/python
|
||||
#!/usr/bin/env python
|
||||
|
||||
jaajs = [
|
||||
"""
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
xmodmap -e "keycode 10 = 1"
|
||||
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-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
|
||||
|
||||
exec-once = hyprpm reload -n
|
||||
exec-once = artix-pipewire-launcher restart
|
||||
exec-once = end-rs daemon
|
||||
exec-once = wallpaperctl daemon
|
||||
exec-once = swayosd-server
|
||||
exec-once = udiskie
|
||||
exec-once = eww-bard
|
||||
exec-once = hyprctl setcursor Bibata-Modern-Classic 24
|
||||
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
|
||||
export ZELLIJ_AUTO_EXIT=true
|
||||
export ZELLIJ_CONFIG_FILE=~/.config/zellij/config.kdl
|
||||
eval "$(zellij setup --generate-auto-start bash)"
|
||||
# eval "$(zellij setup --generate-auto-start bash)"
|
||||
|
||||
# fnm
|
||||
FNM_PATH="$HOME/.local/share/fnm"
|
||||
|
|
|
@ -23,7 +23,7 @@ fi
|
|||
bind '"\e[A":history-search-backward'
|
||||
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"
|
||||
|
||||
|
|
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