Files
nix-flake/modules/hosts/takamaki/takamaki.nix
T

150 lines
3.9 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 = [ "biri" ];
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;
clean.enable = true;
};
};
gui = {
vscode.enable = true;
equibop = {
enable = true;
autostart = true;
};
kitty.enable = true;
spotify = {
enable = true;
spicetify = {
enable = true;
};
};
thunderbird.enable = true;
zen-browser.enable = true;
};
extraPackages = with pkgs; [
nix-init
];
shellScripts = {
switch-os = ''
if sudo efibootmgr --bootnext 0000 >/dev/null; then
sudo reboot
fi
'';
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
notify-send -e -a "toggle-easyeffects script" "Easy Effects enabled"
else
easyeffects -b 1
notify-send -e -a "toggle-easyeffects script" "Easy Effects disabled"
fi
'';
brightnessctl = ''
LOOP_COUNTER=0
if [ "$1" == "1" ]; then
DEVICE="/dev/i2c-10"
elif [ "$1" == "2" ]; then
DEVICE="/dev/i2c-6"
else
DEVICE=$1
fi
MODE_TEST=$(echo "$2" | grep -oP '^\D')
if [ "$MODE_TEST" == "+" ] || [ "$MODE_TEST" == "-" ]; then
MODE="-W"
else
MODE="-w"
fi
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 $MODE $2 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
notify-send -e -a "brightnessctl script" "Set brightness to $WRITTEN for display $PRETTY_NAME"
'';
};
};
};
programs.ssh.settings = {
"sakamoto" = {
HostName = "192.168.0.40";
Port = "22";
User = "grey";
IdentityFile = "~/.ssh/id_sakamoto";
};
};
};
}