WIP
This commit is contained in:
parent
a8f6bf2ce2
commit
07ae12fc30
@ -56,28 +56,32 @@
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
zsh
|
||||
htop
|
||||
fastfetch
|
||||
restic
|
||||
nixfmt
|
||||
rsync
|
||||
pciutils # lspci
|
||||
usbutils # lsusb
|
||||
nmap
|
||||
tree
|
||||
p7zip
|
||||
unar
|
||||
inetutils # telnet
|
||||
wget
|
||||
bitwarden-cli
|
||||
btop
|
||||
dnsutils
|
||||
fastfetch
|
||||
htop
|
||||
iftop
|
||||
inetutils # telnet
|
||||
lazygit
|
||||
nixfmt
|
||||
nmap
|
||||
p7zip
|
||||
pciutils # lspci
|
||||
restic
|
||||
rsync
|
||||
tree
|
||||
unar
|
||||
usbutils # lsusb
|
||||
wget
|
||||
zsh
|
||||
|
||||
# media
|
||||
yt-dlp
|
||||
exiftool
|
||||
mediainfo
|
||||
ffmpeg-full
|
||||
kiwix-tools
|
||||
|
||||
# barcodes
|
||||
qrencode
|
||||
@ -90,7 +94,6 @@
|
||||
man-pages-posix
|
||||
];
|
||||
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
@ -100,7 +103,8 @@
|
||||
font-awesome_5
|
||||
];
|
||||
|
||||
|
||||
# Power management
|
||||
services.power-profiles-daemon.enable = true;
|
||||
|
||||
environment.shellAliases = {
|
||||
"server" = "ssh admin@192.168.0.30";
|
||||
@ -112,5 +116,8 @@
|
||||
"lsa" = "ls -al";
|
||||
};
|
||||
|
||||
environment.pathsToLink = [ "/share/applications" "/share/xdg-desktop-portal" ];
|
||||
environment.pathsToLink = [
|
||||
"/share/applications"
|
||||
"/share/xdg-desktop-portal"
|
||||
];
|
||||
}
|
||||
|
||||
@ -25,7 +25,11 @@
|
||||
openFirewall = true;
|
||||
};
|
||||
services.tailscale.enable = true;
|
||||
services.printing.drivers = [ pkgs.brlaser pkgs.brgenml1lpr pkgs.brgenml1cupswrapper ];
|
||||
services.printing.drivers = [
|
||||
pkgs.brlaser
|
||||
pkgs.brgenml1lpr
|
||||
pkgs.brgenml1cupswrapper
|
||||
];
|
||||
|
||||
# Enable automatic login for the user.
|
||||
# services.displayManager.autoLogin.enable = true;
|
||||
@ -52,7 +56,6 @@
|
||||
|
||||
};
|
||||
|
||||
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
homepageLocation = "https://dashboard.mektem.com";
|
||||
@ -62,9 +65,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
hardware.keyboard.qmk.enable = true;
|
||||
|
||||
boot = {
|
||||
@ -83,8 +83,6 @@
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
|
||||
#services.udev.packages = [ pkgs.via ];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
@ -100,74 +98,66 @@
|
||||
services.mullvad-vpn.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
audacity
|
||||
brave
|
||||
blender
|
||||
orca-slicer
|
||||
firefox
|
||||
gimp
|
||||
inkscape
|
||||
bitwarden-desktop
|
||||
bitwarden-cli
|
||||
kiwix
|
||||
libreoffice
|
||||
obs-studio
|
||||
obsidian
|
||||
#blender
|
||||
#audacity
|
||||
#orca-slicer
|
||||
#gimp
|
||||
#inkscape
|
||||
#unstable.protonmail-desktop
|
||||
#bitwarden-desktop
|
||||
#libreoffice
|
||||
#freecad
|
||||
#kiwix
|
||||
#obs-studio
|
||||
#obsidian
|
||||
unstable.proton-authenticator
|
||||
unstable.protonmail-desktop
|
||||
unstable.proton-vpn
|
||||
prismlauncher
|
||||
unstable.signal-desktop
|
||||
freecad
|
||||
#prismlauncher
|
||||
#unstable.signal-desktop
|
||||
tor-browser
|
||||
wireshark
|
||||
monero-gui
|
||||
moonlight-qt
|
||||
#wireshark
|
||||
#monero-gui
|
||||
#moonlight-qt
|
||||
nvtopPackages.nvidia
|
||||
dconf-editor
|
||||
via
|
||||
kdePackages.kdenlive
|
||||
easyeffects
|
||||
element-desktop
|
||||
chirp
|
||||
#kdePackages.kdenlive
|
||||
#element-desktop
|
||||
#chirp
|
||||
scrcpy
|
||||
veracrypt
|
||||
lmms
|
||||
#lmms
|
||||
restic-browser
|
||||
|
||||
# games
|
||||
webcord
|
||||
heroic
|
||||
lutris
|
||||
cataclysm-dda
|
||||
runelite
|
||||
zeroad
|
||||
unciv
|
||||
endless-sky
|
||||
wesnoth
|
||||
mindustry
|
||||
openrct2
|
||||
openttd
|
||||
xonotic
|
||||
osu-lazer-bin
|
||||
ufoai
|
||||
ludusavi # steam backup
|
||||
#cataclysm-dda
|
||||
#endless-sky
|
||||
#mindustry
|
||||
#openrct2
|
||||
#openttd
|
||||
#osu-lazer-bin
|
||||
#runelite
|
||||
#unciv
|
||||
#webcord
|
||||
#wesnoth
|
||||
#xonotic
|
||||
#zeroad #0ad
|
||||
|
||||
# game utils
|
||||
mangohud
|
||||
umu-launcher
|
||||
|
||||
# emu
|
||||
ryubing
|
||||
xemu
|
||||
#ryubing
|
||||
#xemu
|
||||
xenia-canary
|
||||
#retroarch-full
|
||||
rpcs3
|
||||
dolphin-emu
|
||||
cemu
|
||||
#rpcs3
|
||||
#dolphin-emu
|
||||
#cemu
|
||||
|
||||
# backup
|
||||
keepassxc
|
||||
#keepassxc
|
||||
];
|
||||
|
||||
fonts.fontconfig = {
|
||||
@ -187,9 +177,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
services.hardware.openrgb.enable = true;
|
||||
services.hardware.openrgb.package = pkgs.openrgb-with-all-plugins;
|
||||
|
||||
programs = {
|
||||
adb.enable = true;
|
||||
|
||||
|
||||
|
||||
localsend = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
@ -218,29 +213,35 @@
|
||||
fileSystems."/mnt/media" = {
|
||||
device = "//192.168.0.30/media";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
options =
|
||||
let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s";
|
||||
|
||||
in ["${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000"];
|
||||
in
|
||||
[ "${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000" ];
|
||||
};
|
||||
fileSystems."/mnt/services" = {
|
||||
device = "//192.168.0.30/services";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
options =
|
||||
let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s";
|
||||
|
||||
in ["${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000"];
|
||||
in
|
||||
[ "${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000" ];
|
||||
};
|
||||
fileSystems."/mnt/data" = {
|
||||
device = "//192.168.0.30/data";
|
||||
fsType = "cifs";
|
||||
options = let
|
||||
options =
|
||||
let
|
||||
# this line prevents hanging on network split
|
||||
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s";
|
||||
|
||||
in ["${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000"];
|
||||
in
|
||||
[ "${automount_opts},credentials=/etc/nixos/smb-credentials,uid=1000,gid=1000" ];
|
||||
};
|
||||
|
||||
programs.virt-manager.enable = true;
|
||||
@ -251,5 +252,61 @@
|
||||
};
|
||||
virtualisation.spiceUSBRedirection.enable = true;
|
||||
|
||||
#services.flatpak.enable = true;
|
||||
imports = [ inputs.nix-flatpak.nixosModules.nix-flatpak ];
|
||||
|
||||
services.flatpak = {
|
||||
enable = true;
|
||||
update.auto = {
|
||||
enable = true;
|
||||
onCalendar = "weekly"; # Default value
|
||||
};
|
||||
packages = [
|
||||
"com.bitwarden.desktop"
|
||||
"com.orcaslicer.OrcaSlicer"
|
||||
"me.proton.Mail"
|
||||
"org.audacityteam.Audacity"
|
||||
"org.blender.Blender"
|
||||
"org.freecad.FreeCAD"
|
||||
"org.gimp.GIMP"
|
||||
"org.inkscape.Inkscape"
|
||||
"org.kiwix.desktop"
|
||||
"org.libreoffice.LibreOffice"
|
||||
"md.obsidian.Obsidian"
|
||||
"com.obsproject.Studio"
|
||||
"org.prismlauncher.PrismLauncher"
|
||||
"org.signal.Signal"
|
||||
"org.wireshark.Wireshark"
|
||||
"org.getmonero.Monero"
|
||||
"com.moonlight_stream.Moonlight"
|
||||
"org.kde.kdenlive"
|
||||
"im.riot.Riot"
|
||||
"com.chirpmyradio.chirp"
|
||||
"io.lmms.LMMS"
|
||||
|
||||
# games
|
||||
"com.github.Anuken.Mindustry"
|
||||
"com.play0ad.zeroad"
|
||||
"io.github.endless_sky.endless_sky"
|
||||
"io.github.spacingbat3.webcord"
|
||||
"io.github.yairm210.unciv"
|
||||
"io.openrct2.OpenRCT2"
|
||||
"net.runelite.RuneLite"
|
||||
"org.cataclysmdda.CataclysmDDA"
|
||||
"org.openttd.OpenTTD"
|
||||
"org.wesnoth.Wesnoth"
|
||||
"org.xonotic.Xonotic"
|
||||
"sh.ppy.osu"
|
||||
|
||||
# emu
|
||||
"io.github.ryubing.Ryujinx"
|
||||
"app.xemu.xemu"
|
||||
"net.rpcs3.RPCS3"
|
||||
"org.DolphinEmu.dolphin-emu"
|
||||
"info.cemu.Cemu"
|
||||
|
||||
# backup
|
||||
"org.keepassxc.KeePassXC"
|
||||
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -25,7 +25,8 @@
|
||||
|
||||
programs.dconf = {
|
||||
enable = true;
|
||||
profiles.user.databases = [{
|
||||
profiles.user.databases = [
|
||||
{
|
||||
lockAll = true; # prevents overriding
|
||||
settings = {
|
||||
"org/gnome/shell" = {
|
||||
@ -85,6 +86,7 @@
|
||||
};
|
||||
#org.gnome.desktop.input-sources sources [('xkb', 'us'), ('xkb', 'dz+ar')]
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@ -20,16 +20,17 @@
|
||||
slurp # screenshot selection
|
||||
wl-clipboard # copy to clipboard
|
||||
libnotify # enables "notify-send"
|
||||
nautilus
|
||||
bluetui # bluetooth
|
||||
wiremix # mixer
|
||||
btop
|
||||
tesseract # ocr
|
||||
hyprpicker
|
||||
satty # image annotation
|
||||
|
||||
|
||||
# gnome stuff
|
||||
gnome-calculator
|
||||
nautilus
|
||||
gnome-font-viewer
|
||||
|
||||
gnome-calendar
|
||||
];
|
||||
|
||||
services.udisks2.enable = true; # udiskie automount USB
|
||||
|
||||
16
flake.lock
generated
16
flake.lock
generated
@ -100,6 +100,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1777402031,
|
||||
"narHash": "sha256-6gkfl9y3+ti0Z6dgby8/R4/DRT8sWU0I0TLCIxwWtjk=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "22a3adbe7c5c8c8a10a635d32c9ef7fc01a6e4b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1776983936,
|
||||
@ -170,6 +185,7 @@
|
||||
"home-manager-unstable": "home-manager-unstable",
|
||||
"lazyvim": "lazyvim",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
|
||||
13
flake.nix
13
flake.nix
@ -12,14 +12,25 @@
|
||||
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
|
||||
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
lazyvim.url = "github:pfassina/lazyvim-nix";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ self, nixpkgs, home-manager, home-manager-unstable, nix-darwin, lazyvim, ... }@inputs:
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
home-manager-unstable,
|
||||
nix-darwin,
|
||||
lazyvim,
|
||||
nix-flatpak,
|
||||
...
|
||||
}@inputs:
|
||||
{
|
||||
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit self inputs;
|
||||
inherit nix-flatpak;
|
||||
hostname = "nixos-desktop";
|
||||
};
|
||||
#inherit system;
|
||||
|
||||
@ -1,4 +1,9 @@
|
||||
{ config, pkgs, lazyvim, ...}:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lazyvim,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
home.sessionVariables = {
|
||||
@ -7,7 +12,6 @@
|
||||
BROWSER = "brave";
|
||||
};
|
||||
|
||||
|
||||
imports = [ lazyvim.homeManagerModules.default ];
|
||||
|
||||
programs = {
|
||||
@ -31,10 +35,16 @@
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
|
||||
lazyvim.enable = true;
|
||||
|
||||
lazyvim = {
|
||||
enable = true;
|
||||
plugins = {
|
||||
colorscheme = ''
|
||||
return {
|
||||
"kepano/flexoki-neovim"
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
# neovim = {
|
||||
# enable = true;
|
||||
# viAlias = true;
|
||||
@ -111,6 +121,33 @@
|
||||
enable = true;
|
||||
dotDir = "${config.xdg.configHome}/zsh";
|
||||
syntaxHighlighting.enable = true;
|
||||
initContent = ''
|
||||
bindkey -v
|
||||
export KEYTIMEOUT=1
|
||||
|
||||
# Use vim keys in tab complete menu:
|
||||
bindkey -M menuselect 'h' vi-backward-char
|
||||
bindkey -M menuselect 'k' vi-up-line-or-history
|
||||
bindkey -M menuselect 'l' vi-forward-char
|
||||
bindkey -M menuselect 'j' vi-down-line-or-history
|
||||
bindkey -v '^?' backward-delete-char
|
||||
|
||||
# Change cursor shape for different vi modes.
|
||||
function zle-keymap-select () {
|
||||
case $KEYMAP in
|
||||
vicmd) echo -ne '\e[1 q';; # block
|
||||
viins|main) echo -ne '\e[5 q';; # beam
|
||||
esac
|
||||
}
|
||||
zle -N zle-keymap-select
|
||||
zle-line-init() {
|
||||
zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
|
||||
echo -ne "\e[5 q"
|
||||
}
|
||||
zle -N zle-line-init
|
||||
echo -ne '\e[5 q' # Use beam shape cursor on startup.
|
||||
preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
|
||||
'';
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" ];
|
||||
|
||||
@ -13,6 +13,8 @@
|
||||
'';
|
||||
};
|
||||
|
||||
services.easyeffects.enable = true;
|
||||
|
||||
# Don't touch
|
||||
home.stateVersion = "24.11";
|
||||
}
|
||||
|
||||
@ -2,10 +2,14 @@
|
||||
let
|
||||
nix_background = "rgb(16, 15, 15)";
|
||||
nix_text = "rgb(206, 205, 195)";
|
||||
nix_accent = "rgb(67, 133, 190)"; # blue
|
||||
nix_accent = "rgb(32, 94, 166)"; # blue
|
||||
nix_inactive = "rgb(64, 62, 60)";
|
||||
nix_alert = "rgb(209, 77, 65)"; # red
|
||||
nix_recording = "rgb(218, 112, 44)"; # orange
|
||||
nix_alert = "rgb(175, 48, 41)"; # red
|
||||
nix_recording = "rgb(188, 82, 21)"; # orange
|
||||
nix_font = "JetBrainsMono Nerd Font";
|
||||
nix_border_size = 3;
|
||||
nix_corner = 10;
|
||||
nix_bar_height = 30;
|
||||
in
|
||||
{
|
||||
home.pointerCursor = {
|
||||
@ -22,21 +26,56 @@ in
|
||||
|
||||
services.udiskie.enable = true; # automount USB
|
||||
|
||||
services.playerctld.enable = true; # media control for browser, etc
|
||||
|
||||
services.mpd = {
|
||||
enable = true;
|
||||
musicDirectory = "/mnt/media/audio/music/flac";
|
||||
extraConfig = ''
|
||||
audio_output {
|
||||
type "pipewire"
|
||||
name "PipeWire Sound Server"
|
||||
}
|
||||
auto_update "yes"
|
||||
'';
|
||||
};
|
||||
|
||||
programs.rmpc = {
|
||||
enable = true;
|
||||
config = ''
|
||||
(
|
||||
address: "127.0.0.1:6600",
|
||||
password: None,
|
||||
theme: None,
|
||||
cache_dir: None,
|
||||
on_song_change: None,
|
||||
volume_step: 5,
|
||||
max_fps: 30,
|
||||
scrolloff: 0,
|
||||
wrap_navigation: false,
|
||||
enable_mouse: true,
|
||||
enable_config_hot_reload: true,
|
||||
select_current_song_on_change: false,
|
||||
browser_song_sort: [Disc, Track, Artist, Title],
|
||||
)
|
||||
'';
|
||||
};
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
theme = "flexoki";
|
||||
settings = {
|
||||
font = {
|
||||
normal = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
family = nix_font;
|
||||
style = "Regular";
|
||||
};
|
||||
bold = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
family = nix_font;
|
||||
style = "Bold";
|
||||
};
|
||||
italic = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
family = nix_font;
|
||||
style = "Italic";
|
||||
};
|
||||
size = 9;
|
||||
@ -50,16 +89,6 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
shellIntegration.enableZshIntegration = true;
|
||||
font.name = "JetBrains Mono Nerd Font";
|
||||
themeFile = "Catppuccin-Mocha";
|
||||
settings = {
|
||||
background_opacity = 0.9;
|
||||
};
|
||||
};
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@ -78,19 +107,21 @@ in
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
|
||||
width = "(300, 300)";
|
||||
height = "(75, 75)";
|
||||
font = "JetBrains Mono Nerd Font 14";
|
||||
font = "${nix_font} 10";
|
||||
offset = "(40, 40)";
|
||||
frame-color = nix_inactive;
|
||||
background = nix_background;
|
||||
foreground = nix_text;
|
||||
frame_color = "#205ea6";
|
||||
background = "#100f0f1A";
|
||||
foreground = "#cecdc3";
|
||||
timeout = 5;
|
||||
gaps = true;
|
||||
gap_size = 15;
|
||||
corner_radius = nix_corner;
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
frame-color = nix_alert;
|
||||
frame_color = nix_alert;
|
||||
timeout = 0;
|
||||
};
|
||||
|
||||
@ -127,19 +158,6 @@ in
|
||||
# };
|
||||
# };
|
||||
|
||||
# services.swaync = {
|
||||
# enable = true;
|
||||
# style = ''
|
||||
# .notification {
|
||||
# border-radius: 0px;
|
||||
# background-color: "#1e1e2e";
|
||||
# color: "#cdd6f4";
|
||||
# border-color: "#89b4fa";
|
||||
# }
|
||||
# '';
|
||||
#
|
||||
# };
|
||||
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@ -162,7 +180,7 @@ in
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
font-family: 'JetBrainsMono Nerd Font';
|
||||
font-family: '${nix_font}';
|
||||
font-size: 14px; /* up from 12px */
|
||||
}
|
||||
|
||||
@ -185,12 +203,20 @@ in
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
border-radius: 0 0 ${toString nix_corner}px ${toString nix_corner}px;
|
||||
|
||||
}
|
||||
|
||||
#cpu,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
#custom-power,
|
||||
#idle_inhibitor,
|
||||
#bluetooth,
|
||||
#privacy,
|
||||
#custom-menu,
|
||||
#hyprland-submap,
|
||||
#language {
|
||||
min-width: 12px;
|
||||
margin: 0 7.5px;
|
||||
@ -208,7 +234,7 @@ in
|
||||
margin-right: 13px;
|
||||
}
|
||||
|
||||
#custom-expandn {
|
||||
#custom-expand {
|
||||
margin-right: 18px;
|
||||
}
|
||||
|
||||
@ -239,12 +265,13 @@ in
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#privacy {
|
||||
#privacy privacy-item *{
|
||||
min-width: 12px;
|
||||
margin-left: 5px;
|
||||
margin-right: 0;
|
||||
font-size: 10px;
|
||||
padding-bottom: 1px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#privacy.active {
|
||||
@ -257,9 +284,13 @@ in
|
||||
'';
|
||||
settings = {
|
||||
mainBar = {
|
||||
height = 26;
|
||||
spacing = 4;
|
||||
modules-left = [ "hyprland/workspaces" ];
|
||||
height = nix_bar_height;
|
||||
spacing = 0;
|
||||
modules-left = [
|
||||
"custom/menu"
|
||||
"hyprland/workspaces"
|
||||
"hyprland/submap"
|
||||
];
|
||||
modules-center = [
|
||||
"clock"
|
||||
"idle_inhibitor"
|
||||
@ -274,6 +305,10 @@ in
|
||||
"privacy"
|
||||
];
|
||||
|
||||
privacy = {
|
||||
icon-size = 14;
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
on-click = "activate";
|
||||
format = "{icon}";
|
||||
@ -306,7 +341,8 @@ in
|
||||
};
|
||||
|
||||
tray = {
|
||||
#spacing = 10;
|
||||
spacing = 17;
|
||||
icon-size = 12;
|
||||
};
|
||||
|
||||
"hyprland/language" = {
|
||||
@ -321,6 +357,11 @@ in
|
||||
on-click = "hyprlock & systemctl suspend";
|
||||
};
|
||||
|
||||
"custom/menu" = {
|
||||
format = "";
|
||||
on-click = "walker";
|
||||
};
|
||||
|
||||
"custom/expand" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
@ -411,13 +452,140 @@ in
|
||||
locale = "";
|
||||
monitor = "";
|
||||
terminal_title_flag = "";
|
||||
theme = "default";
|
||||
timeout = 0;
|
||||
};
|
||||
theme.name = "my-theme";
|
||||
theme.style = ''
|
||||
@define-color background ${nix_background};
|
||||
@define-color foreground ${nix_text};
|
||||
@define-color selected-text ${nix_accent};
|
||||
@define-color base ${nix_background};
|
||||
@define-color border ${nix_accent};
|
||||
@define-color text ${nix_text};
|
||||
|
||||
* {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: monospace;
|
||||
font-size: 18px;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.normal-icons {
|
||||
-gtk-icon-size: 16px;
|
||||
}
|
||||
|
||||
.large-icons {
|
||||
-gtk-icon-size: 32px;
|
||||
}
|
||||
|
||||
.box-wrapper {
|
||||
background: alpha(@base, 0.95);
|
||||
padding: 20px;
|
||||
border: 2px solid @border;
|
||||
}
|
||||
|
||||
.preview-box {
|
||||
}
|
||||
|
||||
.box {
|
||||
}
|
||||
|
||||
.search-container {
|
||||
background: @base;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.input placeholder {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.input {
|
||||
}
|
||||
|
||||
.input:focus,
|
||||
.input:active {
|
||||
box-shadow: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.content-container {
|
||||
}
|
||||
|
||||
.placeholder {
|
||||
}
|
||||
|
||||
.scroll {
|
||||
}
|
||||
|
||||
.list {
|
||||
}
|
||||
|
||||
child,
|
||||
child > * {
|
||||
}
|
||||
|
||||
child:hover .item-box {
|
||||
}
|
||||
|
||||
child:selected .item-box {
|
||||
}
|
||||
|
||||
child:selected .item-box * {
|
||||
color: @selected-text;
|
||||
}
|
||||
|
||||
child:selected {
|
||||
background: alpha(@text, 0.07);
|
||||
}
|
||||
|
||||
.item-box {
|
||||
padding-left: 14px;
|
||||
}
|
||||
|
||||
.item-text-box {
|
||||
all: unset;
|
||||
padding: 14px 0;
|
||||
}
|
||||
|
||||
.item-text {
|
||||
}
|
||||
|
||||
.item-subtext {
|
||||
font-size: 0px;
|
||||
min-height: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.item-image {
|
||||
margin-right: 14px;
|
||||
-gtk-icon-transform: scale(0.9);
|
||||
}
|
||||
|
||||
.current {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.keybind-hints {
|
||||
background: @background;
|
||||
padding: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.preview {
|
||||
}
|
||||
'';
|
||||
};
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
font = "JetBrains Mono 14";
|
||||
font = "${nix_font} 14";
|
||||
plugins = [
|
||||
pkgs.rofimoji
|
||||
];
|
||||
@ -425,8 +593,18 @@ in
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
ignore_empty_input = true;
|
||||
};
|
||||
background = {
|
||||
color = nix_background;
|
||||
# color = nix_background;
|
||||
path = "screenshot";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = false;
|
||||
};
|
||||
|
||||
input-field = {
|
||||
@ -434,19 +612,22 @@ in
|
||||
position = "0, 0";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
fade_on_emtpy = false;
|
||||
fade_on_empty = false;
|
||||
font_color = nix_text;
|
||||
outer_color = nix_inactive;
|
||||
inner_color = nix_background;
|
||||
check_color = nix_accent;
|
||||
fail_color = nix_alert;
|
||||
font_family = "JetBrains Mono Nerd Font";
|
||||
font_family = nix_font;
|
||||
shadow_passes = 0;
|
||||
|
||||
placeholder_text = "Enter Password";
|
||||
placeholder_text = "Enter Password ";
|
||||
fail_text = "<i>$FAIL ($ATTEMPTS)</i>";
|
||||
rounding = 0;
|
||||
rounding = nix_corner;
|
||||
|
||||
};
|
||||
|
||||
"fingerprint:enabled" = true;
|
||||
};
|
||||
};
|
||||
|
||||
@ -472,10 +653,94 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."hypr/scripts/media.sh" = {
|
||||
executable = true;
|
||||
text = ''
|
||||
# Define a unique ID to reuse for replacing notifications
|
||||
NOTIF_ID=9999
|
||||
|
||||
PLAYER=$(playerctl -l 2>/dev/null | grep -i 'brave\|chromium\|chrome' | head -n 1)
|
||||
|
||||
if [ -z "$PLAYER" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sleep 0.4s
|
||||
|
||||
# Get play/pause status
|
||||
STATUS=$(playerctl -p "$PLAYER" status 2>/dev/null)
|
||||
|
||||
# Fetch metadata
|
||||
TITLE=$(playerctl -p "$PLAYER" metadata title 2>/dev/null)
|
||||
ARTIST=$(playerctl -p "$PLAYER" metadata artist 2>/dev/null)
|
||||
|
||||
# Format the message based on artist presence
|
||||
if [ -z "$ARTIST" ]; then
|
||||
MSG="$TITLE"
|
||||
else
|
||||
MSG="$TITLE\n$ARTIST"
|
||||
fi
|
||||
|
||||
# Send notification using the -r flag to overwrite the old one
|
||||
if [ "$STATUS" = "Paused" ]; then
|
||||
notify-send -r $NOTIF_ID "Paused" "$MSG" -i media-playback-pause -t 5000
|
||||
else
|
||||
notify-send -r $NOTIF_ID "Now Playing" "$MSG" -i media-playback-start -t 5000
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
xdg.configFile."hypr/scripts/screenshot.sh" = {
|
||||
executable = true;
|
||||
text = ''
|
||||
MODE=$1
|
||||
FILE=$(mktemp /tmp/screenshot-XXXXXX.png)
|
||||
|
||||
grim -g "$(slurp)" "$FILE" || exit 1
|
||||
|
||||
wl-copy < "$FILE"
|
||||
|
||||
ACTION=$(dunstify "Screenshot taken" "Copied to clipboard" \
|
||||
--icon="$FILE" \
|
||||
--action="open,Open in Satty" \
|
||||
--timeout=5000)
|
||||
|
||||
[ "$ACTION" = "2" ] && satty --filename "$FILE"
|
||||
FILE=$(mktemp /tmp/screenshot-XXXXXX.png)
|
||||
|
||||
case "$MODE" in
|
||||
region)
|
||||
grim -g "$(slurp)" "$FILE" || exit 1
|
||||
;;
|
||||
fullscreen)
|
||||
grim "$FILE" || exit 1
|
||||
;;
|
||||
window)
|
||||
GEOMETRY=$(hyprctl clients -j | jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | slurp)
|
||||
grim -g "$GEOMETRY" "$FILE" || exit 1
|
||||
;;
|
||||
*)
|
||||
notify-send "Screenshot" "Invalid mode: $MODE" --urgency=critical
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
wl-copy < "$FILE"
|
||||
|
||||
ACTION=$(notify-send "Screenshot taken ($MODE)" \
|
||||
"Copied to clipboard" \
|
||||
--icon="$FILE" \
|
||||
--action="open=Open in Satty" \
|
||||
--wait)
|
||||
|
||||
[ "$ACTION" = "open" ] && satty --filename "$FILE"
|
||||
'';
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
#pkgs.hyprlandPlugins.hyprbars
|
||||
pkgs.hyprlandPlugins.hyprbars
|
||||
];
|
||||
settings = {
|
||||
# This is an example Hyprland config file for Nix.
|
||||
@ -492,6 +757,27 @@ in
|
||||
# Create your files separately and then link them to this file like this:
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
# todo: make the line above nix-ish
|
||||
#
|
||||
cursor = {
|
||||
#hide_on_key_press = true; # wish this could be disabled on window basis https://github.com/hyprwm/Hyprland/discussions/12317
|
||||
warp_on_change_workspace = 1;
|
||||
};
|
||||
|
||||
plugin = {
|
||||
hyprbars = {
|
||||
bar_height = nix_bar_height;
|
||||
hyprbars-button = [
|
||||
"rgb(ff605C), 16, , hyprctl dispatch killactive"
|
||||
"rgb(00CA4E), 16, , hyprctl dispatch fullscreen 1"
|
||||
"rgb(FFBD44), 16, , hyprctl dispatch togglefloating"
|
||||
];
|
||||
on_double_click = "hyprctl dispatch fullscreen 1";
|
||||
icon_on_hover = true;
|
||||
bar_color = nix_background;
|
||||
"col.text" = nix_text;
|
||||
bar_buttons_alignment = "right";
|
||||
};
|
||||
};
|
||||
|
||||
################
|
||||
### MONITORS ###
|
||||
@ -581,14 +867,14 @@ in
|
||||
gaps_in = 10;
|
||||
gaps_out = 20;
|
||||
|
||||
border_size = 3;
|
||||
border_size = nix_border_size;
|
||||
|
||||
# these need to have variables
|
||||
"col.active_border" = "0x4385BEFF";
|
||||
"col.inactive_border" = "0x403E3CFF";
|
||||
"col.active_border" = "0xFF205ea6";
|
||||
"col.inactive_border" = "0xFF403E3C";
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false;
|
||||
resize_on_border = true;
|
||||
|
||||
# Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false;
|
||||
@ -625,36 +911,35 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#decoration
|
||||
# https://wiki.hypr.land/Configuring/Basics/Variables/#decoration
|
||||
decoration = {
|
||||
rounding = 0;
|
||||
rounding_power = 2;
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
rounding = nix_corner;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 4;
|
||||
range = 2;
|
||||
render_power = 3;
|
||||
color = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#blur
|
||||
# https://wiki.hypr.land/Configuring/Basics/Variables/#blur
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 8;
|
||||
passes = 1;
|
||||
noise = 0.2;
|
||||
|
||||
vibrancy = 0.1696;
|
||||
size = 2;
|
||||
passes = 2;
|
||||
special = true;
|
||||
brightness = 0.60;
|
||||
contrast = 0.75;
|
||||
};
|
||||
};
|
||||
|
||||
layerrule = [
|
||||
"blur, notifications"
|
||||
"ignorezero, notifications"
|
||||
|
||||
# turn off anim for walker
|
||||
"noanim, walker"
|
||||
|
||||
]; # add blur to notifications
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#animations
|
||||
@ -674,7 +959,7 @@ in
|
||||
animation = [
|
||||
"global, 1, 10, default"
|
||||
"border, 1, 5.39, easeOutQuint"
|
||||
"windows, 1, 4.79, easeOutQuint"
|
||||
"windows, 1, 3.79, easeOutQuint"
|
||||
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
|
||||
"windowsOut, 1, 1.49, linear, popin 87%"
|
||||
"fadeIn, 1, 1.73, almostLinear"
|
||||
@ -685,31 +970,20 @@ in
|
||||
"layersOut, 1, 1.5, linear, fade"
|
||||
"fadeLayersIn, 1, 1.79, almostLinear"
|
||||
"fadeLayersOut, 1, 1.39, almostLinear"
|
||||
"workspaces, 1, 1.94, almostLinear, fade"
|
||||
"workspacesIn, 1, 1.21, almostLinear, fade"
|
||||
"workspacesOut, 1, 1.94, almostLinear, fade"
|
||||
"zoomFactor, 1, 7, quick"
|
||||
"workspaces, 0, 1, default"
|
||||
"specialWorkspace, 1, 3, easeOutQuint, slidevert"
|
||||
];
|
||||
};
|
||||
|
||||
# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = [
|
||||
# "w[tv1], gapsout:0, gapsin:0"
|
||||
# "f[1], gapsout:0, gapsin:0"
|
||||
# ];
|
||||
# windowrule = [
|
||||
# "bordersize 0, floating:0, onworkspace:w[tv1]"
|
||||
# "rounding 0, floating:0, onworkspace:w[tv1]"
|
||||
# "bordersize 0, floating:0, onworkspace:f[1]"
|
||||
# "rounding 0, floating:0, onworkspace:f[1]"
|
||||
# ];
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
|
||||
dwindle = {
|
||||
pseudotile = true; # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true; # You probably want this
|
||||
force_split = 2; # Always split on the right
|
||||
};
|
||||
|
||||
binds = {
|
||||
hide_special_on_workspace_change = true;
|
||||
};
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
|
||||
@ -722,6 +996,7 @@ in
|
||||
force_default_wallpaper = 0; # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = true; # If true disables the random hyprland logo / anime girl background. :(
|
||||
background_color = nix_background;
|
||||
focus_on_activate = true;
|
||||
};
|
||||
|
||||
#############
|
||||
@ -735,11 +1010,15 @@ in
|
||||
kb_model = "";
|
||||
kb_options = "grp:alt_space_toggle";
|
||||
kb_rules = "";
|
||||
|
||||
follow_mouse = 1;
|
||||
|
||||
repeat_rate = 40;
|
||||
repeat_delay = 250;
|
||||
|
||||
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
accel_profile = "flat";
|
||||
|
||||
touchpad = {
|
||||
disable_while_typing = false;
|
||||
natural_scroll = false;
|
||||
@ -773,15 +1052,23 @@ in
|
||||
"$mainMod SHIFT, Q, exit,"
|
||||
"$mainMod, E, exec, $fileManager"
|
||||
"$mainMod, V, togglefloating,"
|
||||
"$mainMod, F, fullscreen, 1"
|
||||
"$mainMod, F, fullscreen, 3"
|
||||
"$mainMod, M, fullscreen, 1"
|
||||
"$mainMod, W, exec, $browser"
|
||||
"$mainMod, space, exec, $menu"
|
||||
#"$mainMod, P, pseudo," # dwindle
|
||||
"$mainMod, T, togglesplit," # dwindle
|
||||
"$mainMod SHIFT, L, exec, hyprlock"
|
||||
"$mainMod SHIFT, F, workspaceopt, allfloat"
|
||||
"$mainMod SHIFT, H, exec, for i in {1..10}; do dunstctl history-pop; done; sleep 5 && dunstctl close-all" # show last 10 notifications for 5 seconds
|
||||
"$mainMod, G, togglegroup,"
|
||||
"$mainMod SHIFT, S, exec, grim -g \"$(slurp)\" - | wl-copy"
|
||||
"$mainMod SHIFT, S, exec, ~/.config/hypr/scripts/screenshot.sh region"
|
||||
", PRINT, exec, ~/.config/hypr/scripts/screenshot.sh fullscreen"
|
||||
"$mainMod, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh window"
|
||||
|
||||
# OCR
|
||||
"$mainMod SHIFT, T, exec, bash -c 'grim -g \"$(slurp)\" - | tesseract - stdout | wl-copy'"
|
||||
"$mainMod SHIFT, PRINT, exec, pkill hyprpicker || hyprpicker -a | wl-copy"
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
"$mainMod, h, movefocus, l"
|
||||
@ -845,10 +1132,10 @@ in
|
||||
|
||||
# Requires playerctl
|
||||
bindl = [
|
||||
", XF86AudioNext, exec, playerctl next"
|
||||
", XF86AudioPause, exec, playerctl play-pause"
|
||||
", XF86AudioPlay, exec, playerctl play-pause"
|
||||
", XF86AudioPrev, exec, playerctl previous"
|
||||
", XF86AudioNext, exec, playerctl next& ~/.config/hypr/scripts/media.sh"
|
||||
", XF86AudioPause, exec, playerctl play-pause& ~/.config/hypr/scripts/media.sh"
|
||||
", XF86AudioPlay, exec, playerctl play-pause& ~/.config/hypr/scripts/media.sh"
|
||||
", XF86AudioPrev, exec, playerctl previous& ~/.config/hypr/scripts/media.sh"
|
||||
];
|
||||
|
||||
##############################
|
||||
@ -867,13 +1154,12 @@ in
|
||||
# Fix some dragging issues with XWayland
|
||||
"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
|
||||
|
||||
"float, title:^(bluetui)$"
|
||||
"center, title:^(bluetui)$"
|
||||
"float, title:^(impala)$"
|
||||
"center, title:^(impala)$"
|
||||
"float, title:^(wiremix)$"
|
||||
"center, title:^(wiremix)$"
|
||||
# make tuis accessed from waybar float in center
|
||||
"tag +floating-window, title:(bluetui|impala|wiremix)"
|
||||
"tag +floating-window, title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files|.*wants to [open|save].*|[C|c]hoose.*)"
|
||||
"float, class:(org.gnome.Calculator)"
|
||||
|
||||
# send games to specific workspace
|
||||
"workspace name:games silent, class:$games"
|
||||
"noanim, class:$games"
|
||||
"noblur, class:$games"
|
||||
@ -882,6 +1168,42 @@ in
|
||||
"rounding 0, class:$games"
|
||||
"fullscreen, class:$games"
|
||||
"immediate, class:$games"
|
||||
|
||||
# pip
|
||||
"tag +pip, title:(Picture.?in.?[Pp]icture)"
|
||||
"tag -default-opacity, tag:pip"
|
||||
"float, tag:pip"
|
||||
"pin, tag:pip"
|
||||
"size 600 338, tag:pip"
|
||||
"keepaspectratio, tag:pip"
|
||||
"bordersize 0, tag:pip"
|
||||
"opacity 1 1, tag:pip"
|
||||
"move (monitor_w-window_w-40) (monitor_h*0.04), tag:pip"
|
||||
|
||||
# steam
|
||||
"float, class:^(steam)$"
|
||||
"center, class:^(steam)$, title:^(Steam)$"
|
||||
"tag -default-opacity, class:^(steam.*)$"
|
||||
"opacity 1 1, class:^(steam.*)$"
|
||||
"size 1100 700, class:^(steam)$, title:^(Steam)$"
|
||||
"size 460 800, class:^(steam)$, title:^(Friends List)$"
|
||||
"idleinhibit fullscreen, class:^(steam)$"
|
||||
|
||||
# bitwarden
|
||||
"noscreenshare, class:^(Bitwarden)$"
|
||||
"tag +floating-window, class:^(Bitwarden)$"
|
||||
|
||||
# Bitwarden Chrome Extension
|
||||
"noscreenshare, class:^(brave-nngceckbapebfimnlniiiahkandclblb-Default)$"
|
||||
"tag +floating-window, class:^(brave-nngceckbapebfimnlniiiahkandclblb-Default)$"
|
||||
|
||||
# floating tag
|
||||
"float, tag:floating-window"
|
||||
"center, tag:floating-window"
|
||||
"size 875 600, tag:floating-window"
|
||||
|
||||
# hyprbar
|
||||
"plugin:hyprbars:nobar, tag:^(?!floating-window$).*$"
|
||||
];
|
||||
|
||||
"$games" =
|
||||
|
||||
@ -352,7 +352,6 @@ systemd.user.timers.podman-prune = {
|
||||
# };
|
||||
# };
|
||||
|
||||
|
||||
home-assistant = {
|
||||
image = "ghcr.io/home-assistant/home-assistant:stable";
|
||||
autoStart = true;
|
||||
@ -703,7 +702,6 @@ systemd.user.timers.podman-prune = {
|
||||
# };
|
||||
# };
|
||||
|
||||
|
||||
metube = {
|
||||
image = "ghcr.io/alexta69/metube:latest";
|
||||
autoStart = true;
|
||||
@ -1119,7 +1117,6 @@ systemd.user.timers.podman-prune = {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# tandoor = {
|
||||
# image = "docker.io/vabene1111/recipes";
|
||||
# autoStart = true;
|
||||
@ -1165,7 +1162,6 @@ systemd.user.timers.podman-prune = {
|
||||
# };
|
||||
# };
|
||||
|
||||
|
||||
thelounge = {
|
||||
image = "lscr.io/linuxserver/thelounge:latest";
|
||||
autoStart = true;
|
||||
@ -1319,7 +1315,6 @@ systemd.user.timers.podman-prune = {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# zigbee2mqtt = {
|
||||
# image = "docker.io/koenkk/zigbee2mqtt";
|
||||
# autoStart = true;
|
||||
|
||||
@ -1,37 +1,55 @@
|
||||
# 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, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "nvidia-uvm" ];
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"nvme"
|
||||
"usbhid"
|
||||
"usb_storage"
|
||||
"sd_mod"
|
||||
"nvidia-uvm"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/bd28421d-7ec4-4b23-964d-c07a6f351e1f";
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/bd28421d-7ec4-4b23-964d-c07a6f351e1f";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-e3a81f8e-3ae9-494b-a329-a6f860b10e34".device = "/dev/disk/by-uuid/e3a81f8e-3ae9-494b-a329-a6f860b10e34";
|
||||
boot.initrd.luks.devices."luks-e3a81f8e-3ae9-494b-a329-a6f860b10e34".device =
|
||||
"/dev/disk/by-uuid/e3a81f8e-3ae9-494b-a329-a6f860b10e34";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/D47C-5FCE";
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/D47C-5FCE";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
options = [
|
||||
"fmask=0077"
|
||||
"dmask=0077"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/be22d9db-283a-4dd9-93d5-1006e392724b"; }
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/be22d9db-283a-4dd9-93d5-1006e392724b"; }
|
||||
];
|
||||
|
||||
fileSystems."/run/media/admin/08cabc7a-9a6e-4c21-8a07-6663af77b705" =
|
||||
{ device = "/dev/disk/by-uuid/08cabc7a-9a6e-4c21-8a07-6663af77b705";
|
||||
fileSystems."/run/media/admin/08cabc7a-9a6e-4c21-8a07-6663af77b705" = {
|
||||
device = "/dev/disk/by-uuid/08cabc7a-9a6e-4c21-8a07-6663af77b705";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
|
||||
@ -1,4 +1,9 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
|
||||
@ -14,7 +19,8 @@ services.pipewire = {
|
||||
};
|
||||
|
||||
boot = {
|
||||
initrd.luks.devices."luks-cbf20b12-90f7-4fbb-95d3-1320eece4d89".device = "/dev/disk/by-uuid/cbf20b12-90f7-4fbb-95d3-1320eece4d89";
|
||||
initrd.luks.devices."luks-cbf20b12-90f7-4fbb-95d3-1320eece4d89".device =
|
||||
"/dev/disk/by-uuid/cbf20b12-90f7-4fbb-95d3-1320eece4d89";
|
||||
kernelParams = [
|
||||
"nvidia_drm.modeset=1"
|
||||
"nvidia_drm.fbdev=1"
|
||||
@ -35,7 +41,10 @@ services.pipewire = {
|
||||
];
|
||||
};
|
||||
defaultGateway = "192.168.30.1";
|
||||
nameservers = [ "192.168.0.1" "1.1.1.1" ];
|
||||
nameservers = [
|
||||
"192.168.0.1"
|
||||
"1.1.1.1"
|
||||
];
|
||||
};
|
||||
|
||||
services = {
|
||||
@ -44,7 +53,7 @@ services.pipewire = {
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = false;
|
||||
powerManagement.enable = true;
|
||||
powerManagement.finegrained = false;
|
||||
open = false;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
|
||||
@ -5,7 +5,6 @@
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
system.stateVersion = 6;
|
||||
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
audacity
|
||||
brave
|
||||
|
||||
@ -14,7 +14,10 @@
|
||||
];
|
||||
};
|
||||
defaultGateway = "192.168.0.1";
|
||||
nameservers = [ "192.168.0.1" "1.1.1.1" ];
|
||||
nameservers = [
|
||||
"192.168.0.1"
|
||||
"1.1.1.1"
|
||||
];
|
||||
};
|
||||
|
||||
users.users.admin.linger = true;
|
||||
|
||||
@ -1,31 +1,47 @@
|
||||
# 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, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "mpt3sas" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.availableKernelModules = [
|
||||
"mpt3sas"
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/b9cc7972-36ae-4cb4-a6f4-e342eaca679e";
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/b9cc7972-36ae-4cb4-a6f4-e342eaca679e";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/542D-865C";
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/542D-865C";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
options = [
|
||||
"fmask=0077"
|
||||
"dmask=0077"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/1032bbd9-0124-419f-a696-a977755aaf17"; }
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/1032bbd9-0124-419f-a696-a977755aaf17"; }
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
|
||||
@ -55,7 +55,10 @@ systemd.services.podman-network-vlan50 = {
|
||||
];
|
||||
};
|
||||
defaultGateway = "192.168.0.1";
|
||||
nameservers = [ "192.168.0.1" "1.1.1.1" ];
|
||||
nameservers = [
|
||||
"192.168.0.1"
|
||||
"1.1.1.1"
|
||||
];
|
||||
};
|
||||
users.users.admin.linger = true;
|
||||
|
||||
@ -148,7 +151,7 @@ systemd.services.podman-network-vlan50 = {
|
||||
# };
|
||||
|
||||
# give permissions for zigbee USB transceiver
|
||||
system.activationScripts.script.text = ''chmod o+rw /dev/ttyACM0'';
|
||||
system.activationScripts.script.text = "chmod o+rw /dev/ttyACM0";
|
||||
|
||||
boot.supportedFilesystems = [ "zfs" ];
|
||||
boot.zfs.forceImportRoot = false;
|
||||
|
||||
1
nixos-apple-silicon
Submodule
1
nixos-apple-silicon
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit f2506ef24a154e2bcc8fb10f2c73579324f9ead0
|
||||
Loading…
x
Reference in New Issue
Block a user