133 lines
3.3 KiB
Nix
133 lines
3.3 KiB
Nix
{ inputs, self, ... }: {
|
|
flake.homeConfigurations."grey@takamaki" = inputs.home-manager.lib.homeManagerConfiguration {
|
|
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
|
modules = [
|
|
self.homeModules."grey@takamaki"
|
|
inputs.stylix.homeModules.stylix
|
|
];
|
|
extraSpecialArgs = { inherit inputs; };
|
|
};
|
|
|
|
flake.homeModules."grey@takamaki" = { pkgs, config, lib, ... }: {
|
|
imports = with self.homeModules; [
|
|
global
|
|
audio
|
|
graphics
|
|
gaming
|
|
];
|
|
|
|
info = {
|
|
userName = "grey";
|
|
hostName = "takamaki";
|
|
rootPath = "/home/grey/flake";
|
|
stateVersion = "26.11";
|
|
};
|
|
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
extraConfig = ''
|
|
pinentry-program /usr/bin/pinentry
|
|
'';
|
|
};
|
|
|
|
components = {
|
|
windowManagers = "niri";
|
|
shells = "noctalia";
|
|
};
|
|
|
|
features = {
|
|
shells.zsh.antidote.enable = true;
|
|
|
|
services = {
|
|
easyeffects.enable = true;
|
|
};
|
|
|
|
hardware = {
|
|
steam-controller.enable = true;
|
|
};
|
|
|
|
applications = {
|
|
cli = {
|
|
fastfetch.enable = true;
|
|
color-converter.enable = true;
|
|
nh.enable = true;
|
|
};
|
|
|
|
gui = {
|
|
vscode.enable = true;
|
|
equibop = {
|
|
enable = true;
|
|
autostart = true;
|
|
};
|
|
kitty.enable = true;
|
|
spotify = {
|
|
enable = true;
|
|
spicetify = {
|
|
enable = true;
|
|
theme = "comfy";
|
|
};
|
|
};
|
|
};
|
|
|
|
extraPackages = with pkgs; [
|
|
nix-init
|
|
github-desktop
|
|
];
|
|
|
|
shellScripts = let
|
|
mkBrightnessScript = direction: ''
|
|
LOOP_COUNTER=0
|
|
DEVICE=$1
|
|
PRETTY_NAME=$(sudo ddccontrol dev:$DEVICE 2>&1 >/dev/null | grep -oP "/usr/share/ddccontrol-db/monitor/\K.+\.xml" | sed 's/.xml//')
|
|
WRITTEN="foo"
|
|
CONTROL="bar"
|
|
while [[ "$WRITTEN" != "$CONTROL" ]] && [ $LOOP_COUNTER -lt 3 ]; do
|
|
RESULT=$(sudo ddccontrol -r 0x10 -W ${direction}5 dev:$DEVICE 2> /dev/null)
|
|
WRITTEN=$(echo $RESULT | grep -oP "Writing.+\(\K\d{1,3}\)" | sed 's/)//')
|
|
CONTROL=$(echo $RESULT | grep -oP "Control.+\+/\K\d{1,3}/100" | sed 's/\/100//')
|
|
LOOP_COUNTER=$(($LOOP_COUNTER + 1))
|
|
done
|
|
|
|
noctalia msg notification-show "Set brightness to $WRITTEN for display $PRETTY_NAME"
|
|
'';
|
|
in {
|
|
switch-os = ''
|
|
sudo efibootmgr --bootnext 0000
|
|
sudo reboot
|
|
'';
|
|
|
|
universal-reboot = ''
|
|
sudo reboot
|
|
'';
|
|
|
|
universal-shutdown = ''
|
|
sudo systemctl poweroff
|
|
'';
|
|
|
|
toggle-easyeffects = lib.mkIf (config.features.services.easyeffects.enable) ''
|
|
bypass_value=$(easyeffects -b 3)
|
|
|
|
if [ "$bypass_value" = "1" ]; then
|
|
easyeffects -b 2
|
|
else
|
|
easyeffects -b 1
|
|
fi
|
|
'';
|
|
|
|
increase-brightness = mkBrightnessScript "+";
|
|
|
|
decrease-brightness = mkBrightnessScript "-";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.ssh.settings = {
|
|
"sakamoto" = {
|
|
HostName = "192.168.0.40";
|
|
Port = "22";
|
|
User = "grey";
|
|
IdentityFile = "~/.ssh/id_sakamoto";
|
|
};
|
|
};
|
|
};
|
|
} |