Compare commits
4 Commits
2bb838aef4
...
e9663453f8
Author | SHA1 | Date | |
---|---|---|---|
e9663453f8 | |||
1ae71eba14 | |||
c4f0a374b2 | |||
3652381567 |
@ -1,15 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
LOC="$1"
|
|
||||||
# HTML encode string as %20
|
|
||||||
LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC")
|
|
||||||
content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=NewYork°=C")
|
|
||||||
ICON=$(curl -s 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°-]//g' )
|
|
||||||
# echo $ICON
|
|
||||||
TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g')
|
|
||||||
TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g')
|
|
||||||
CLASS=$(echo $content | jq .skytext)
|
|
||||||
echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP $LOC'", "class": '$CLASS' }'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
|||||||
|
|
||||||
#!/bin/bash
|
|
||||||
#simple Shellscript for waybar/i3blocks/polybar on Pinebook pro
|
|
||||||
#05012020 geri123@gmx.net Gerhard S.
|
|
||||||
|
|
||||||
PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity)
|
|
||||||
STATUS=$(cat /sys/class/power_supply/cw2015-battery/status)
|
|
||||||
case $((
|
|
||||||
$PERCENT >= 0 && $PERCENT <= 20 ? 1 :
|
|
||||||
$PERCENT > 20 && $PERCENT <= 40 ? 2 :
|
|
||||||
$PERCENT > 40 && $PERCENT <= 60 ? 3 :
|
|
||||||
$PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in
|
|
||||||
#
|
|
||||||
(1) echo $STATUS:"":$PERCENT%;;
|
|
||||||
(2) echo $STATUS:"":$PERCENT%;;
|
|
||||||
(3) echo $STATUS:"":$PERCENT%;;
|
|
||||||
(4) echo $STATUS:"":$PERCENT%;;
|
|
||||||
(5) echo $STATUS:"":$PERCENT%;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(xfce4-terminal)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list"
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
LOC="$1"
|
|
||||||
# HTML encode string as %20
|
|
||||||
LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC")
|
|
||||||
content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=$LOCATION°=C")
|
|
||||||
ICON=$(curl -s 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°-]//g' )
|
|
||||||
# echo $ICON
|
|
||||||
TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g')
|
|
||||||
TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g')
|
|
||||||
CLASS=$(echo $content | jq .skytext)
|
|
||||||
echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP $LOC'", "class": '$CLASS' }'
|
|
||||||
|
|
45
flake.lock
generated
@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702735279,
|
"lastModified": 1705269478,
|
||||||
"narHash": "sha256-SztEzDOE/6bDNnWWvnRbSHPVrgewLwdSei1sxoZFejM=",
|
"narHash": "sha256-j7Rp8Y3ckBHOlIzqe0g2+/BVce9SU/dVtn4Eb0rMuY4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e9b9ecef4295a835ab073814f100498716b05a96",
|
"rev": "846200eb574faa2af808ed02e653c2b8ed51fd71",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -20,33 +20,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-ld": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1701153607,
|
|
||||||
"narHash": "sha256-h+odOVyiGmEERMECoFOj5P7FPiMR8IPRzroFA4sKivg=",
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "nix-ld",
|
|
||||||
"rev": "bf5aa84a713c31d95b4307e442e966d6c7fd7ae7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "nix-ld",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702312524,
|
"lastModified": 1705133751,
|
||||||
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
|
"narHash": "sha256-rCIsyE80jgiOU78gCWN3A0wE0tR2GI5nH6MlS+HaaSQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
|
"rev": "9b19f5e77dd906cb52dade0b7bd280339d2a1f3d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -58,11 +38,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702346276,
|
"lastModified": 1705183652,
|
||||||
"narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=",
|
"narHash": "sha256-rnfkyUH0x72oHfiSDhuCHDHg3gFgF+lF8zkkg5Zihsw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7",
|
"rev": "428544ae95eec077c7f823b422afae5f174dee4b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -74,11 +54,11 @@
|
|||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702770334,
|
"lastModified": 1705283909,
|
||||||
"narHash": "sha256-MVILxIF9ZVIk0f9w3yYZpy8auwxgey0MFzdoIFFvQNU=",
|
"narHash": "sha256-7F2KyTB4cApsHg7oltJ1r0QFWMjWTOaS9m2IbKFhj6Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "1d37444620523278aa163bb9e30104f5d1152061",
|
"rev": "375b9a949232cd1e31bd89d197a5605a17d2aeb3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -90,7 +70,6 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-ld": "nix-ld",
|
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nur": "nur"
|
"nur": "nur"
|
||||||
|
68
flake.nix
@ -3,44 +3,24 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
|
|
||||||
nix-ld = {
|
|
||||||
url = "github:Mic92/nix-ld";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# firefox-addons = {
|
|
||||||
# url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixpkgs-stable, nix-ld, nur, home-manager, ... } @ inputs:
|
outputs = { self, nixpkgs, nixpkgs-stable, nur, home-manager, ... } @ inputs:
|
||||||
let
|
let
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
userName = "nate";
|
|
||||||
fullName = "Nate Anderson";
|
|
||||||
email = "n8r@tuta.io";
|
|
||||||
hostName = "winmax";
|
|
||||||
desktop = "sway";
|
|
||||||
gaming = true;
|
|
||||||
timeZone = "America/Denver";
|
timeZone = "America/Denver";
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
stablePkgs = nixpkgs-stable.legacyPackages.${system};
|
stablePkgs = nixpkgs-stable.legacyPackages.${system};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
nixosConfigurations = {
|
||||||
nixosConfigurations = {
|
|
||||||
nixServer = nixpkgs.lib.nixosSystem {
|
nixServer = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
@ -49,24 +29,40 @@
|
|||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
nixDesktop = nixpkgs.lib.nixosSystem {
|
nate = nixpkgs.lib.nixosSystem {
|
||||||
# Pass args to desktop configuration
|
# Pass args to desktop configuration
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs userName hostName desktop timeZone gaming system;
|
inherit inputs outputs timeZone system;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/desktop_configuration.nix
|
# Setup home manager
|
||||||
# Setup nix-ld
|
inputs.home-manager.nixosModules.home-manager {
|
||||||
nix-ld.nixosModules.nix-ld
|
home-manager.useGlobalPkgs = true;
|
||||||
# Setup home manager
|
home-manager.useUserPackages = true;
|
||||||
home-manager.nixosModules.home-manager {
|
home-manager.users.nate = import ./nate/modules/home-manager/home.nix;
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.extraSpecialArgs = {
|
||||||
home-manager.useUserPackages = true;
|
inherit inputs outputs;
|
||||||
home-manager.users.${userName} = import ./modules/home-manager/home.nix;
|
};
|
||||||
home-manager.extraSpecialArgs = {
|
}
|
||||||
inherit inputs outputs userName fullName email hostName desktop gaming;
|
./nate/default.nix
|
||||||
};
|
];
|
||||||
}
|
};
|
||||||
|
jaci = nixpkgs.lib.nixosSystem {
|
||||||
|
# Pass args to desktop configuration
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs outputs timeZone system;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
# Setup home manager
|
||||||
|
inputs.home-manager.nixosModules.home-manager {
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.jaci = import ./jaci/modules/home-manager/home.nix;
|
||||||
|
home-manager.extraSpecialArgs = {
|
||||||
|
inherit inputs outputs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
./jaci/default.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
39
jaci/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{ config, lib, inputs, outputs, pkgs, system, timeZone, ... }:
|
||||||
|
let
|
||||||
|
userName = "jaci";
|
||||||
|
fullName = "Jaci Anderson";
|
||||||
|
email = "jaci.s.anderson@gmail.com";
|
||||||
|
hostName = "meowyxlife";
|
||||||
|
desktop = "kde";
|
||||||
|
gaming = true;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./desktop-configuration.nix
|
||||||
|
./nixos/hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
deskCfg = {
|
||||||
|
userName = userName;
|
||||||
|
hostName = hostName;
|
||||||
|
de = desktop;
|
||||||
|
installGaming = gaming;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Limit the number of generations to keep
|
||||||
|
boot.loader.systemd-boot.configurationLimit = 5;
|
||||||
|
|
||||||
|
# Perform garbage collection weekly to maintain low disk usage
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 1w";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Optimize storage
|
||||||
|
# You can also manually optimize the store via:
|
||||||
|
# nix-store --optimise
|
||||||
|
# Refer to the following link for more details:
|
||||||
|
# https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
|
}
|
94
jaci/desktop-configuration.nix
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
{ config, lib, inputs, outputs, pkgs, timeZone, system, ... }:
|
||||||
|
let
|
||||||
|
supportedDesktops = [ "kde" ];
|
||||||
|
supportedDesktopsStr = lib.strings.concatStringsSep ", " supportedDesktops;
|
||||||
|
deskCfg = config.deskCfg;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.deskCfg = {
|
||||||
|
de = lib.mkOption {
|
||||||
|
default = "kde";
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Desktop Environment";
|
||||||
|
};
|
||||||
|
userName = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Main username for system";
|
||||||
|
};
|
||||||
|
hostName = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Hostname for system";
|
||||||
|
};
|
||||||
|
installGaming = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Whether to install gaming software or not";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
modules/user/main_user.nix
|
||||||
|
modules/labwc/labwc_conf.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = builtins.elem deskCfg.de supportedDesktops;
|
||||||
|
message = "Unsupported desktop environment: ${deskCfg.de}\nSupported DE's: ${supportedDesktopsStr}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.nur.overlay
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable flakes feature
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command" "flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
# boot.plymouth.enable = true;
|
||||||
|
|
||||||
|
networking.hostName = deskCfg.hostName; # Define your hostname.
|
||||||
|
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
|
time.timeZone = timeZone;
|
||||||
|
|
||||||
|
|
||||||
|
users.users.${deskCfg.userName} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
initialPassword = "password";
|
||||||
|
description = "main user";
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"networkmanager"
|
||||||
|
"corectrl"
|
||||||
|
deskCfg.userName
|
||||||
|
"video"
|
||||||
|
"audio"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# main_user = {
|
||||||
|
# enable = true;
|
||||||
|
# userName = deskCfg.userName;
|
||||||
|
# isDesktopUser = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
labwc = {
|
||||||
|
enable = true;
|
||||||
|
useNonFree = true;
|
||||||
|
installGaming = deskCfg.installGaming;
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
libreoffice
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
29
jaci/dotfiles/labwc/autostart
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/dash
|
||||||
|
|
||||||
|
# Autostart Apps
|
||||||
|
xset +fp ~/.fonts/misc/
|
||||||
|
xset b off
|
||||||
|
xset r rate 250 25
|
||||||
|
xbacklight -set 5
|
||||||
|
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
|
||||||
|
pcmanfm -d &
|
||||||
|
compton -b
|
||||||
|
hsetroot -tile ~/.wallpaper.png
|
||||||
|
xsettingsd &
|
||||||
|
dunst -geometry "300x60-28+56" &
|
||||||
|
|
||||||
|
# Touchpad settings
|
||||||
|
synclient \
|
||||||
|
VertEdgeScroll=0 HorizEdgeScroll=0 \
|
||||||
|
VertTwoFingerScroll=1 HorizTwoFingerScroll=1 \
|
||||||
|
VertScrollDelta=320 HorizScrollDelta=320 \
|
||||||
|
MinSpeed=0.05 MaxSpeed=1.2 \
|
||||||
|
AccelFactor=0.04 CoastingSpeed=10 \
|
||||||
|
TapButton1=0 TapButton2=0 TapButton3=0
|
||||||
|
|
||||||
|
# Panel
|
||||||
|
panel &
|
||||||
|
trayer \
|
||||||
|
--align right --widthtype request --heighttype pixel --height 28 \
|
||||||
|
--transparent true --alpha 255 &
|
||||||
|
|
5
jaci/dotfiles/labwc/bullet.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define bullet_width 9
|
||||||
|
#define bullet_height 9
|
||||||
|
static unsigned char bullet_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x20, 0x00,
|
||||||
|
0x10, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
5
jaci/dotfiles/labwc/close.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define close_width 12
|
||||||
|
#define close_height 12
|
||||||
|
static unsigned char close_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x90, 0x00, 0x60, 0x00,
|
||||||
|
0x60, 0x00, 0x90, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
5
jaci/dotfiles/labwc/desk.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define desk_width 12
|
||||||
|
#define desk_height 12
|
||||||
|
static unsigned char desk_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x01, 0x98, 0x01, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
5
jaci/dotfiles/labwc/desk_toggled.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define desk_toggled_width 12
|
||||||
|
#define desk_toggled_height 12
|
||||||
|
static unsigned char desk_toggled_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x01, 0x98, 0x01, 0x60, 0x00,
|
||||||
|
0x60, 0x00, 0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
5
jaci/dotfiles/labwc/iconify.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define iconify_width 12
|
||||||
|
#define iconify_height 12
|
||||||
|
static unsigned char iconify_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
5
jaci/dotfiles/labwc/max.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define max_width 12
|
||||||
|
#define max_height 12
|
||||||
|
static unsigned char max_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x40, 0x01,
|
||||||
|
0x28, 0x00, 0x18, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
5
jaci/dotfiles/labwc/max_disabled.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define max_disabled_width 12
|
||||||
|
#define max_disabled_height 12
|
||||||
|
static unsigned char max_disabled_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x40, 0x01,
|
||||||
|
0x28, 0x00, 0x18, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
5
jaci/dotfiles/labwc/max_toggled.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define max_toggled_width 12
|
||||||
|
#define max_toggled_height 12
|
||||||
|
static unsigned char max_toggled_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x40, 0x01,
|
||||||
|
0x28, 0x00, 0x18, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
52
jaci/dotfiles/labwc/menu.xml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<openbox_menu
|
||||||
|
xmlns="http://openbox.org/"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://openbox.org/
|
||||||
|
file:///usr/share/openbox/menu.xsd">
|
||||||
|
<menu id="root-menu" label="Openbox 3">
|
||||||
|
<item label="Terminal emulator">
|
||||||
|
<action name="Execute">
|
||||||
|
<execute>x-terminal-emulator</execute>
|
||||||
|
</action>
|
||||||
|
</item>
|
||||||
|
<item label="Web browser">
|
||||||
|
<action name="Execute">
|
||||||
|
<execute>x-www-browser</execute>
|
||||||
|
</action>
|
||||||
|
</item>
|
||||||
|
<separator />
|
||||||
|
<menu execute="openbox-menu lxde-applications.menu" id="apps" label="Applications"/>
|
||||||
|
<menu id="client-list-menu" />
|
||||||
|
<separator />
|
||||||
|
<item label="Configurations">
|
||||||
|
<action name="Execute">
|
||||||
|
<execute>obconf</execute>
|
||||||
|
</action>
|
||||||
|
</item>
|
||||||
|
<item label="Reconfigure">
|
||||||
|
<action name="Reconfigure" />
|
||||||
|
</item>
|
||||||
|
<separator />
|
||||||
|
<menu id="exit" label="Exit" >
|
||||||
|
<item label="Logout">
|
||||||
|
<action name="Exit" />
|
||||||
|
</item>
|
||||||
|
<item label="Suspend">
|
||||||
|
<action name="Execute">
|
||||||
|
<execute>systemctl suspend</execute>
|
||||||
|
</action>
|
||||||
|
</item>
|
||||||
|
<item label="Reboot">
|
||||||
|
<action name="Execute">
|
||||||
|
<execute>systemctl reboot</execute>
|
||||||
|
</action>
|
||||||
|
</item>
|
||||||
|
<item label="Shutdown">
|
||||||
|
<action name="Execute">
|
||||||
|
<execute>systemctl poweroff</execute>
|
||||||
|
</action>
|
||||||
|
</item>
|
||||||
|
</menu>
|
||||||
|
</menu>
|
||||||
|
</openbox_menu>
|
774
jaci/dotfiles/labwc/rc.xml
Normal file
@ -0,0 +1,774 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
<resistance>
|
||||||
|
<strength>10</strength>
|
||||||
|
<screen_edge_strength>20</screen_edge_strength>
|
||||||
|
</resistance>
|
||||||
|
<focus>
|
||||||
|
<focusNew>yes</focusNew>
|
||||||
|
<!-- Always try to focus new windows when they appear. other rules do apply -->
|
||||||
|
<followMouse>no</followMouse>
|
||||||
|
<!-- Move focus to a window when you move the mouse into it -->
|
||||||
|
<focusLast>yes</focusLast>
|
||||||
|
<!-- Focus the last used window when changing desktops, instead of the one
|
||||||
|
under the mouse pointer. when followMouse is enabled -->
|
||||||
|
<underMouse>no</underMouse>
|
||||||
|
<!-- Move focus under the mouse, even when the mouse is not moving -->
|
||||||
|
<focusDelay>200</focusDelay>
|
||||||
|
<!-- When followMouse is enabled, the mouse must be inside the window for
|
||||||
|
this many milliseconds (1000 = 1 sec) before moving focus to it -->
|
||||||
|
<raiseOnFocus>no</raiseOnFocus>
|
||||||
|
<!-- When followMouse is enabled, and a window is given focus by moving the
|
||||||
|
mouse into it, also raise the window -->
|
||||||
|
</focus>
|
||||||
|
<placement>
|
||||||
|
<policy>Smart</policy>
|
||||||
|
<!-- 'Smart' or 'UnderMouse' -->
|
||||||
|
<center>yes</center>
|
||||||
|
<!-- Whether to place windows in the center of the free area found or
|
||||||
|
the top left corner -->
|
||||||
|
<monitor>Primary</monitor>
|
||||||
|
<!-- With Smart placement on a multi-monitor system, try to place new windows
|
||||||
|
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
|
||||||
|
the active window is, 'Primary' - only on the primary monitor -->
|
||||||
|
<primaryMonitor>1</primaryMonitor>
|
||||||
|
<!-- The monitor where Openbox should place popup dialogs such as the
|
||||||
|
focus cycling popup, or the desktop switch popup. It can be an index
|
||||||
|
from 1, specifying a particular monitor. Or it can be one of the
|
||||||
|
following: 'Mouse' - where the mouse is, or 'Active' - where
|
||||||
|
the active window is -->
|
||||||
|
</placement>
|
||||||
|
<theme>
|
||||||
|
<name>Adiantum</name>
|
||||||
|
<titleLayout>CLM</titleLayout>
|
||||||
|
<!--
|
||||||
|
Available characters are NDSLIMC, each can occur at most once.
|
||||||
|
N: window icon
|
||||||
|
L: window label (AKA title).
|
||||||
|
I: iconify
|
||||||
|
M: maximize
|
||||||
|
C: close
|
||||||
|
S: shade (roll up/down)
|
||||||
|
D: omnipresent (on all desktops).
|
||||||
|
-->
|
||||||
|
<keepBorder>yes</keepBorder>
|
||||||
|
<animateIconify>yes</animateIconify>
|
||||||
|
<font place="ActiveWindow">
|
||||||
|
<name>cinnamonroll</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>Normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>Normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="InactiveWindow">
|
||||||
|
<name>cinnamonroll</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>Normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>Normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="MenuHeader">
|
||||||
|
<name>cinnamonroll</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>Normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>Normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="MenuItem">
|
||||||
|
<name>cinnamonroll</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>Normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>Normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="ActiveOnScreenDisplay">
|
||||||
|
<name>cinnamonroll</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>Normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>Normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
<font place="InactiveOnScreenDisplay">
|
||||||
|
<name>cinnamonroll</name>
|
||||||
|
<size>8</size>
|
||||||
|
<!-- font size in points -->
|
||||||
|
<weight>Normal</weight>
|
||||||
|
<!-- 'bold' or 'normal' -->
|
||||||
|
<slant>Normal</slant>
|
||||||
|
<!-- 'italic' or 'normal' -->
|
||||||
|
</font>
|
||||||
|
</theme>
|
||||||
|
<desktops>
|
||||||
|
<!-- this stuff is only used at startup, pagers allow you to change them
|
||||||
|
during a session. these are default values to use when other ones are not
|
||||||
|
already set by other applications, or saved in your session.
|
||||||
|
Use obconf if you want to change these without having to log out
|
||||||
|
and back in -->
|
||||||
|
<number>4</number>
|
||||||
|
<firstdesk>1</firstdesk>
|
||||||
|
<names>
|
||||||
|
<name>1</name>
|
||||||
|
<name>2</name>
|
||||||
|
<name>3</name>
|
||||||
|
<name>4</name>
|
||||||
|
</names>
|
||||||
|
<popupTime>1000</popupTime>
|
||||||
|
<!-- The number of milliseconds to show the popup for when switching
|
||||||
|
desktops. Set this to 0 to disable the popup. -->
|
||||||
|
</desktops>
|
||||||
|
<resize>
|
||||||
|
<drawContents>yes</drawContents>
|
||||||
|
<popupShow>Nonpixel</popupShow>
|
||||||
|
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
|
||||||
|
<popupPosition>Center</popupPosition>
|
||||||
|
<!-- 'Center', 'Top', or 'Fixed' -->
|
||||||
|
<popupFixedPosition>
|
||||||
|
<!-- these are used if popupPosition is set to 'Fixed' -->
|
||||||
|
<x>10</x>
|
||||||
|
<!-- positive number for distance from left edge, negative number for
|
||||||
|
distance from right edge, or 'Center' -->
|
||||||
|
<y>10</y>
|
||||||
|
<!-- positive number for distance from top edge, negative number for
|
||||||
|
distance from bottom edge, or 'Center' -->
|
||||||
|
</popupFixedPosition>
|
||||||
|
</resize>
|
||||||
|
<!-- You can reserve a portion of your screen where windows will not cover when
|
||||||
|
they are maximized, or when they are initially placed.
|
||||||
|
Many programs reserve space automatically, but you can use this in other
|
||||||
|
cases. -->
|
||||||
|
<margins>
|
||||||
|
<top>48</top>
|
||||||
|
<bottom>16</bottom>
|
||||||
|
<left>16</left>
|
||||||
|
<right>16</right>
|
||||||
|
</margins>
|
||||||
|
<dock>
|
||||||
|
<position>TopLeft</position>
|
||||||
|
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
|
||||||
|
<floatingX>0</floatingX>
|
||||||
|
<floatingY>0</floatingY>
|
||||||
|
<noStrut>no</noStrut>
|
||||||
|
<stacking>Above</stacking>
|
||||||
|
<!-- 'Above', 'Normal', or 'Below' -->
|
||||||
|
<direction>Vertical</direction>
|
||||||
|
<!-- 'Vertical' or 'Horizontal' -->
|
||||||
|
<autoHide>no</autoHide>
|
||||||
|
<hideDelay>300</hideDelay>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<showDelay>300</showDelay>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<moveButton>Middle</moveButton>
|
||||||
|
<!-- 'Left', 'Middle', 'Right' -->
|
||||||
|
</dock>
|
||||||
|
<keyboard>
|
||||||
|
<chainQuitKey>C-g</chainQuitKey>
|
||||||
|
<!-- Keybindings for desktop switching -->
|
||||||
|
<keybind key="C-A-Left">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>left</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Right">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>right</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Sent window to next or previous workspace -->
|
||||||
|
<keybind key="W-S-Left">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>left</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-Right">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>right</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Switch to another workspace -->
|
||||||
|
<keybind key="W-1">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>1</to>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-2">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>2</to>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-3">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>3</to>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-4">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>4</to>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Sent window to worspace number -->
|
||||||
|
<keybind key="W-S-1">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>1</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-2">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>2</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-3">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>3</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-4">
|
||||||
|
<action name="SendToDesktop">
|
||||||
|
<to>4</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for Aero Snap -->
|
||||||
|
<keybind key="W-Right">
|
||||||
|
<action name="UnmaximizeFull"/>
|
||||||
|
<action name="MoveResizeTo">
|
||||||
|
<x>-0</x>
|
||||||
|
<y>+0</y>
|
||||||
|
<width>50/100</width>
|
||||||
|
<height>100/100</height>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Left">
|
||||||
|
<action name="UnmaximizeFull"/>
|
||||||
|
<action name="MoveResizeTo">
|
||||||
|
<x>+0</x>
|
||||||
|
<y>+0</y>
|
||||||
|
<width>50/100</width>
|
||||||
|
<height>100/100</height>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Up">
|
||||||
|
<action name="UnmaximizeFull"/>
|
||||||
|
<action name="MoveResizeTo">
|
||||||
|
<width>75/100</width>
|
||||||
|
<height>75/100</height>
|
||||||
|
</action>
|
||||||
|
<action name="MoveToCenter"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Down">
|
||||||
|
<action name="UnmaximizeFull"/>
|
||||||
|
<action name="MoveResizeTo">
|
||||||
|
<width>50/100</width>
|
||||||
|
<height>50/100</height>
|
||||||
|
</action>
|
||||||
|
<action name="MoveToCenter"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-Up">
|
||||||
|
<action name="UnmaximizeFull"/>
|
||||||
|
<action name="MoveResizeTo">
|
||||||
|
<width>75/100</width>
|
||||||
|
<height>75/100</height>
|
||||||
|
</action>
|
||||||
|
<action name="MoveToCenter"/>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for moving window to edge -->
|
||||||
|
<keybind key="W-C-Right">
|
||||||
|
<action name="MoveToEdge">
|
||||||
|
<direction>east</direction>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-C-Left">
|
||||||
|
<action name="MoveToEdge">
|
||||||
|
<direction>west</direction>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-C-Up">
|
||||||
|
<action name="MoveToEdge">
|
||||||
|
<direction>north</direction>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-C-Down">
|
||||||
|
<action name="MoveToEdge">
|
||||||
|
<direction>south</direction>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-a">
|
||||||
|
<action name="MoveToCenter"/>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for undecorate, fullscreen, minimize,
|
||||||
|
roll-up, stick, resize, move, close, and window menu -->
|
||||||
|
<keybind key="W-t">
|
||||||
|
<action name="ToggleDecorations"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-f">
|
||||||
|
<action name="ToggleMaximize"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-z">
|
||||||
|
<action name="Iconify"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-u">
|
||||||
|
<action name="ToggleShade"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-s">
|
||||||
|
<action name="ToggleOmnipresent"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-r">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-m">
|
||||||
|
<action name="Move"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-F4">
|
||||||
|
<action name="Close"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-c">
|
||||||
|
<action name="Close"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-space">
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for window switching -->
|
||||||
|
<keybind key="A-Tab">
|
||||||
|
<action name="NextWindow">
|
||||||
|
<dialog>list</dialog>
|
||||||
|
<bar>no</bar>
|
||||||
|
<finalactions>
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</finalactions>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-S-Tab">
|
||||||
|
<action name="PreviousWindow">
|
||||||
|
<dialog>list</dialog>
|
||||||
|
<bar>no</bar>
|
||||||
|
<finalactions>
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</finalactions>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Down">
|
||||||
|
<action name="NextWindow">
|
||||||
|
<dialog>list</dialog>
|
||||||
|
<bar>yes</bar>
|
||||||
|
<raise>yes</raise>
|
||||||
|
<finalactions>
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</finalactions>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-A-Up">
|
||||||
|
<action name="NextWindow">
|
||||||
|
<dialog>list</dialog>
|
||||||
|
<bar>yes</bar>
|
||||||
|
<raise>yes</raise>
|
||||||
|
<finalactions>
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</finalactions>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for window switching with the arrow keys -->
|
||||||
|
<keybind key="W-A-Right">
|
||||||
|
<action name="DirectionalCycleWindows">
|
||||||
|
<direction>right</direction>
|
||||||
|
<dialog>no</dialog>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-A-Left">
|
||||||
|
<action name="DirectionalCycleWindows">
|
||||||
|
<direction>left</direction>
|
||||||
|
<dialog>no</dialog>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-A-Up">
|
||||||
|
<action name="DirectionalCycleWindows">
|
||||||
|
<direction>up</direction>
|
||||||
|
<dialog>no</dialog>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-A-Down">
|
||||||
|
<action name="DirectionalCycleWindows">
|
||||||
|
<direction>down</direction>
|
||||||
|
<dialog>no</dialog>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for startmenu -->
|
||||||
|
<keybind key="W-d">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>launch</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Tab">
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-list-combined-menu</menu>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-space">
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>root-menu</menu>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Keybindings for running applications -->
|
||||||
|
<keybind key="W-Return">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>x-terminal-emulator</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-w">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>x-www-browser</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-e">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>pcmanfm</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-g">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>geany</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-v">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>pavucontrol</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Take a screenshot, say "Cheeeese!" -->
|
||||||
|
<keybind key="Print">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>screeny</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-Print">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>screeny -f</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="C-Print">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>screeny -s</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Multimedia keys-->
|
||||||
|
<keybind key="XF86AudioStop">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>mpc stop</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86AudioPlay">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>mpc toggle</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86AudioPrev">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>mpc prev</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86AudioNext">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>mpc next</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86MonBrightnessDown">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>xbacklight -dec 5</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86MonBrightnessUp">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>xbacklight -inc 5</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- I'm not satisfied with PulseAudio default volume controller.
|
||||||
|
So, I use custom script instead -->
|
||||||
|
<keybind key="XF86AudioRaiseVolume">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>pulsevol --up</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86AudioLowerVolume">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>pulsevol --down</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86AudioMute">
|
||||||
|
<action name="Execute">
|
||||||
|
<command>pulsevol --mute</command>
|
||||||
|
</action>
|
||||||
|
</keybind>
|
||||||
|
<!-- Reload and Exit keybinds -->
|
||||||
|
<keybind key="W-S-BackSpace">
|
||||||
|
<action name="Restart"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-r">
|
||||||
|
<action name="Reconfigure"/>
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-S-q">
|
||||||
|
<action name="Exit"/>
|
||||||
|
</keybind>
|
||||||
|
</keyboard>
|
||||||
|
<mouse>
|
||||||
|
<dragThreshold>1</dragThreshold>
|
||||||
|
<!-- number of pixels the mouse must move before a drag begins -->
|
||||||
|
<doubleClickTime>500</doubleClickTime>
|
||||||
|
<!-- in milliseconds (1000 = 1 second) -->
|
||||||
|
<screenEdgeWarpTime>0</screenEdgeWarpTime>
|
||||||
|
<!-- Time before changing desktops when the pointer touches the edge of the
|
||||||
|
screen while moving a window, in milliseconds (1000 = 1 second).
|
||||||
|
Set this to 0 to disable warping -->
|
||||||
|
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
|
||||||
|
<!-- Set this to TRUE to move the mouse pointer across the desktop when
|
||||||
|
switching due to hitting the edge of the screen -->
|
||||||
|
<context name="Desktop">
|
||||||
|
<mousebind button="W-Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>right</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="W-Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>left</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Frame">
|
||||||
|
<mousebind button="W-Down" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>right</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="W-Up" action="Click">
|
||||||
|
<action name="GoToDesktop">
|
||||||
|
<to>left</to>
|
||||||
|
<wrap>no</wrap>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Frame">
|
||||||
|
<mousebind button="W-Left" action="Drag">
|
||||||
|
<action name="Move"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Titlebar">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Move"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="DoubleClick">
|
||||||
|
<action name="ToggleMaximizeFull"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Up" action="Click">
|
||||||
|
<action name="if">
|
||||||
|
<shaded>no</shaded>
|
||||||
|
<then>
|
||||||
|
<action name="Shade"/>
|
||||||
|
</then>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Down" action="Click">
|
||||||
|
<action name="if">
|
||||||
|
<shaded>yes</shaded>
|
||||||
|
<then>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</then>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Top">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize">
|
||||||
|
<edge>top</edge>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Left">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize">
|
||||||
|
<edge>left</edge>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Right">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize">
|
||||||
|
<edge>right</edge>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Bottom">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize">
|
||||||
|
<edge>bottom</edge>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="TRCorner BRCorner TLCorner BLCorner">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Client">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Icon">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="AllDesktops">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleOmnipresent"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Shade">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleShade"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Iconify">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="Iconify"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Maximize">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleMaximize"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Close">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus"/>
|
||||||
|
<action name="Raise"/>
|
||||||
|
<action name="Unshade"/>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="Close"/>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Root">
|
||||||
|
<!-- Menus -->
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>root-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="DoubleClick">
|
||||||
|
<action name="ShowMenu">
|
||||||
|
<menu>client-list-combined-menu</menu>
|
||||||
|
</action>
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
</mouse>
|
||||||
|
<menu>
|
||||||
|
<file>menu.xml</file>
|
||||||
|
<hideDelay>200</hideDelay>
|
||||||
|
<!-- if a press-release lasts longer than this setting (in milliseconds),
|
||||||
|
the menu is hidden again -->
|
||||||
|
<middle>no</middle>
|
||||||
|
<!-- center submenus vertically about the parent entry -->
|
||||||
|
<submenuShowDelay>100</submenuShowDelay>
|
||||||
|
<!-- time to delay before showing a submenu after hovering over the parent entry.
|
||||||
|
if this is a negative value, then the delay is infinite and the
|
||||||
|
submenu will not be shown until it is clicked on -->
|
||||||
|
<submenuHideDelay>400</submenuHideDelay>
|
||||||
|
<!-- time to delay before hiding a submenu when selecting another entry in parent menu
|
||||||
|
if this is a negative value, then the delay is infinite and the
|
||||||
|
submenu will not be hidden until a different submenu is opened -->
|
||||||
|
<showIcons>no</showIcons>
|
||||||
|
<!-- controls if icons appear in the client-list-(combined-)menu -->
|
||||||
|
<manageDesktops>yes</manageDesktops>
|
||||||
|
<!-- show the manage desktops section in the client-list-(combined-)menu -->
|
||||||
|
</menu>
|
||||||
|
</openbox_config>
|
5
jaci/dotfiles/labwc/shade.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define shade_width 12
|
||||||
|
#define shade_height 12
|
||||||
|
static unsigned char shade_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
5
jaci/dotfiles/labwc/shade_toggled.xbm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#define shade_toggled_width 12
|
||||||
|
#define shade_toggled_height 12
|
||||||
|
static unsigned char shade_toggled_bits[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
70
jaci/dotfiles/labwc/themerc
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
!! Menu
|
||||||
|
menu.border.width: 8
|
||||||
|
menu.border.color: #f9faf4
|
||||||
|
menu.overlap.x: -10
|
||||||
|
menu.title.bg: flat
|
||||||
|
menu.title.bg.color: #f9faf4
|
||||||
|
menu.title.text.color: #947e7b
|
||||||
|
menu.title.text.justify: center
|
||||||
|
menu.items.bg: flat
|
||||||
|
menu.items.bg.color: #f9faf4
|
||||||
|
menu.items.text.color: #947e7b
|
||||||
|
menu.items.active.bg: flat
|
||||||
|
menu.items.active.bg.color: #aecdad
|
||||||
|
menu.items.active.text.color: #526b6e
|
||||||
|
menu.items.disabled.text.color: #4d5066
|
||||||
|
menu.items.justify: left
|
||||||
|
menu.separator.padding.height: 2
|
||||||
|
menu.separator.color: #f9faf4
|
||||||
|
|
||||||
|
!! Titlebar
|
||||||
|
window.*.title.bg: flat
|
||||||
|
window.*.label.bg: parentrelative
|
||||||
|
window.active.title.bg.color: #e7e8eb
|
||||||
|
window.active.label.text.color: #70788d
|
||||||
|
window.inactive.title.bg.color: #e7e8eb
|
||||||
|
window.inactive.label.text.color: #d3d3d6
|
||||||
|
window.label.text.justify: center
|
||||||
|
|
||||||
|
!! Titlebar buttons
|
||||||
|
window.*.button.*.bg: parentrelative
|
||||||
|
window.*.button.*.pressed.bg: flat
|
||||||
|
window.active.button.*.image.color: #70788d
|
||||||
|
window.active.button.*.hover.image.color: #aecdad
|
||||||
|
window.active.button.*.pressed.bg.color: #aecdad
|
||||||
|
window.active.button.disabled.image.color: #d3d3d6
|
||||||
|
window.inactive.button.*.image.color: #d3d3d6
|
||||||
|
window.inactive.button.disabled.image.color: #d3d3d6
|
||||||
|
|
||||||
|
!! Borders
|
||||||
|
border.width: 0
|
||||||
|
padding.width: 12
|
||||||
|
padding.height: 8
|
||||||
|
window.client.padding.width: 0
|
||||||
|
window.client.padding.height: 0
|
||||||
|
window.handle.width: 2
|
||||||
|
window.active.border.color: #e7e8eb
|
||||||
|
window.active.client.color: #e7e8eb
|
||||||
|
window.active.handle.bg: flat
|
||||||
|
window.active.handle.bg.color: #e7e8eb
|
||||||
|
window.active.grip.bg: flat
|
||||||
|
window.active.grip.bg.color: #e7e8eb
|
||||||
|
window.inactive.grip.bg: flat
|
||||||
|
window.inactive.grip.bg.color: #e7e8eb
|
||||||
|
window.inactive.border.color: #e7e8eb
|
||||||
|
window.inactive.handle.bg: flat
|
||||||
|
window.inactive.handle.bg.color: #e7e8eb
|
||||||
|
window.inactive.client.color: #e7e8eb
|
||||||
|
|
||||||
|
!! OSD
|
||||||
|
osd.border.width: 1
|
||||||
|
osd.border.color: #e7e8eb
|
||||||
|
osd.label.text.color: #5c616c
|
||||||
|
osd.bg: flat
|
||||||
|
osd.bg.color: #e7e8eb
|
||||||
|
osd.label.bg: flat
|
||||||
|
osd.label.bg.color: #e7e8eb
|
||||||
|
osd.hilight.bg: flat
|
||||||
|
osd.hilight.bg.color: #aecdad
|
||||||
|
osd.unhilight.bg: flat solid
|
||||||
|
osd.unhilight.bg.color: #70788d
|
BIN
jaci/dotfiles/paper-openbox-200409.zip
Normal file
@ -30,7 +30,7 @@ in
|
|||||||
engines = {
|
engines = {
|
||||||
"Startpage" = {
|
"Startpage" = {
|
||||||
urls = [{
|
urls = [{
|
||||||
template = "https://www.startpage.com/do/mypage.pl?prfe=a1ffaae1a3f4dc133b6e11b3d611db561598fc16fbc43a22c2694805a5b4d46852c848cb54f3ccbc9cea0e8e83dab567d3abe2b350870e7781f8701d4558a1c988aced444d1e8d8a7b830563/search?query={searchTerms}";
|
template = "https://www.startpage.com/sp/search?query={searchTerms}";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
};
|
};
|
203
jaci/modules/home-manager/home.nix
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
userName = "jaci";
|
||||||
|
fullName = "Jaci Anderson";
|
||||||
|
email = "jaci.s.anderson@gmail.com";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# nixpkgs.overlays = [
|
||||||
|
# inputs.nur.overlay
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# nixpkgs.config.allowUnfree = true;
|
||||||
|
# inputs.nixpkgs-stable.config.allowUnfree = true;
|
||||||
|
imports = [
|
||||||
|
../apps/firefox/firefox.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.username = userName;
|
||||||
|
home.homeDirectory = "/home/${userName}";
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||||
|
|
||||||
|
# The home.packages option allows you to install Nix packages into your
|
||||||
|
# environment.
|
||||||
|
firefoxApp.enable = true;
|
||||||
|
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# nur.repos.crazazy.js.eslint
|
||||||
|
# inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
||||||
|
|
||||||
|
#
|
||||||
|
# Dev Tools
|
||||||
|
#
|
||||||
|
dbeaver
|
||||||
|
cargo
|
||||||
|
kakoune
|
||||||
|
# flutter
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
python310
|
||||||
|
nodejs_21
|
||||||
|
zig
|
||||||
|
### LSP's
|
||||||
|
rnix-lsp # Nix LSP
|
||||||
|
openscad-lsp
|
||||||
|
nodePackages.typescript-language-server
|
||||||
|
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
|
||||||
|
rubyPackages.solargraph
|
||||||
|
python310Packages.python-lsp-server
|
||||||
|
zls
|
||||||
|
### Misc
|
||||||
|
# android-udev-rules
|
||||||
|
# android-tools
|
||||||
|
# sdkmanager
|
||||||
|
openscad
|
||||||
|
|
||||||
|
#
|
||||||
|
# Gaming
|
||||||
|
#
|
||||||
|
wine-wayland
|
||||||
|
webcord
|
||||||
|
|
||||||
|
#
|
||||||
|
# Better Unix
|
||||||
|
#
|
||||||
|
bat
|
||||||
|
duf
|
||||||
|
fd
|
||||||
|
fzf
|
||||||
|
lsd
|
||||||
|
ripgrep
|
||||||
|
tre-command
|
||||||
|
gtop
|
||||||
|
|
||||||
|
#
|
||||||
|
# Photo / Video
|
||||||
|
#
|
||||||
|
imv
|
||||||
|
mpv
|
||||||
|
gimp
|
||||||
|
|
||||||
|
#
|
||||||
|
# Communication
|
||||||
|
#
|
||||||
|
mumble
|
||||||
|
slack
|
||||||
|
signal-desktop
|
||||||
|
|
||||||
|
#
|
||||||
|
# Other
|
||||||
|
#
|
||||||
|
keepassxc
|
||||||
|
obs-studio
|
||||||
|
|
||||||
|
# Install fonts
|
||||||
|
(nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; })
|
||||||
|
|
||||||
|
# # You can also create simple shell scripts directly inside your
|
||||||
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
|
# # environment:
|
||||||
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
|
# echo "Hello, ${config.home.username}!"
|
||||||
|
# '')
|
||||||
|
];
|
||||||
|
|
||||||
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
|
# plain files is through 'home.file'.
|
||||||
|
home.file."${config.xdg.configHome}" = {
|
||||||
|
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||||
|
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||||
|
# # symlink to the Nix store copy.
|
||||||
|
# ".screenrc".source = dotfiles/screenrc;
|
||||||
|
source = ../../dotfiles;
|
||||||
|
recursive = true;
|
||||||
|
|
||||||
|
# # You can also set the file content immediately.
|
||||||
|
# ".gradle/gradle.properties".text = ''
|
||||||
|
# org.gradle.console=verbose
|
||||||
|
# org.gradle.daemon.idletimeout=3600000
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Home Manager can also manage your environment variables through
|
||||||
|
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
||||||
|
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
||||||
|
# either
|
||||||
|
#
|
||||||
|
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# /etc/profiles/per-user/nate/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "kak";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Git setup
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userEmail = email;
|
||||||
|
userName = fullName;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Zsh setup
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "git" ];
|
||||||
|
theme = "half-life";
|
||||||
|
};
|
||||||
|
initExtra = ''
|
||||||
|
alias ask="nix-shell -p python310Packages.openai --run 'python ~/source/python/chat.py'"
|
||||||
|
|
||||||
|
fzf_projects() {
|
||||||
|
DIR=`
|
||||||
|
fd .git --search-path="$HOME/source/" -H --ignore-file ~/.config/fd-ignore -tdirectory | \
|
||||||
|
xargs dirname | \
|
||||||
|
sed 's|$HOME||g' | \
|
||||||
|
sort | \
|
||||||
|
uniq | \
|
||||||
|
fzf --preview 'ls $HOME/{}/README.md 2>/dev/null && bat $HOME/{}/README.md || printf "No README.md file found in this directory\n%s" {}' --preview-window=top | \
|
||||||
|
xargs printf "$HOME/%s/"
|
||||||
|
`
|
||||||
|
cd $DIR
|
||||||
|
}
|
||||||
|
alias p="fzf_projects source/"
|
||||||
|
|
||||||
|
### Busykid Bash Functions
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Theming qt and gnome apps
|
||||||
|
#
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme = "gtk";
|
||||||
|
style.name = "adwaita-dark";
|
||||||
|
style.package = pkgs.adwaita-qt;
|
||||||
|
};
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme.package = pkgs.catppuccin-cursors;
|
||||||
|
cursorTheme.name = "latteFlamingo";
|
||||||
|
theme = {
|
||||||
|
name = "Catppuccin-Latte-Pink";
|
||||||
|
package = pkgs.catppuccin-gtk.override {
|
||||||
|
accents = [ "pink" ];
|
||||||
|
tweaks = [ ];
|
||||||
|
variant = "latte";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
132
jaci/modules/labwc/labwc_conf.nix
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
options.labwc = {
|
||||||
|
enable = lib.mkEnableOption "Enable labwc window manager.";
|
||||||
|
useNonFree = lib.mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Whether to enable non-free software in the labwc config";
|
||||||
|
};
|
||||||
|
installGaming = lib.mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Whether to install gaming software on the system.";
|
||||||
|
};
|
||||||
|
systemPackages = lib.mkOption {
|
||||||
|
default = [];
|
||||||
|
description = "Add any additional packages desired. Merged with labwc defaults.";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
###
|
||||||
|
## Configuration
|
||||||
|
###
|
||||||
|
config = lib.mkIf config.labwc.enable {
|
||||||
|
|
||||||
|
programs.sway.enable = true;
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = config.labwc.useNonFree;
|
||||||
|
# For R2ModMan
|
||||||
|
# nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
# "electron-25.9.0"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
###
|
||||||
|
## XDG portal setup
|
||||||
|
###
|
||||||
|
xdg.portal = {
|
||||||
|
config = {
|
||||||
|
common = {
|
||||||
|
default = [
|
||||||
|
"wlr"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
wlr.enable = true;
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
xdg.sounds.enable = true;
|
||||||
|
|
||||||
|
###
|
||||||
|
## System Packages
|
||||||
|
###
|
||||||
|
environment.systemPackages = with pkgs; lib.lists.flatten [
|
||||||
|
[
|
||||||
|
bash
|
||||||
|
foot
|
||||||
|
git
|
||||||
|
glib # gsettings
|
||||||
|
grim
|
||||||
|
labwc
|
||||||
|
libnotify
|
||||||
|
mako
|
||||||
|
ncspot
|
||||||
|
networkmanagerapplet
|
||||||
|
pavucontrol
|
||||||
|
slurp
|
||||||
|
swaylock
|
||||||
|
swayidle
|
||||||
|
swww
|
||||||
|
wl-clipboard
|
||||||
|
waybar
|
||||||
|
wdisplays
|
||||||
|
wofi
|
||||||
|
xdg-utils
|
||||||
|
zsh
|
||||||
|
# Fonts
|
||||||
|
]
|
||||||
|
config.labwc.systemPackages
|
||||||
|
# (lib.mkIf config.labwc.installGaming [
|
||||||
|
# pkgs.lutris
|
||||||
|
# ])
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.loginShellInit = ''
|
||||||
|
[[ "$(tty)" == /dev/tty1 ]] && labwc
|
||||||
|
'';
|
||||||
|
# Thunar config
|
||||||
|
programs.thunar = {
|
||||||
|
enable = true;
|
||||||
|
plugins = with pkgs.xfce; [
|
||||||
|
thunar-archive-plugin
|
||||||
|
thunar-volman
|
||||||
|
];
|
||||||
|
};
|
||||||
|
programs.file-roller.enable = true;
|
||||||
|
programs.xfconf.enable = true;
|
||||||
|
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
programs.steam.enable = config.labwc.installGaming;
|
||||||
|
|
||||||
|
# kdeconnect setup
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
|
||||||
|
###
|
||||||
|
## Services
|
||||||
|
###
|
||||||
|
services.gvfs.enable = true; # thunar functionalities
|
||||||
|
services.openssh.enable = true;
|
||||||
|
services.dbus.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
###
|
||||||
|
## Misc
|
||||||
|
###
|
||||||
|
sound.enable = true;
|
||||||
|
# Necessary for home-manager labwc setup
|
||||||
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
39
nate/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{ config, lib, inputs, outputs, pkgs, system, timeZone, ... }:
|
||||||
|
let
|
||||||
|
userName = "nate";
|
||||||
|
fullName = "Nate Anderson";
|
||||||
|
email = "n8r@tuta.io";
|
||||||
|
hostName = "winmax";
|
||||||
|
desktop = "sway";
|
||||||
|
gaming = true;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./desktop-configuration.nix
|
||||||
|
./nixos/hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
deskCfg = {
|
||||||
|
userName = userName;
|
||||||
|
hostName = hostName;
|
||||||
|
de = desktop;
|
||||||
|
installGaming = gaming;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Limit the number of generations to keep
|
||||||
|
boot.loader.systemd-boot.configurationLimit = 5;
|
||||||
|
|
||||||
|
# Perform garbage collection weekly to maintain low disk usage
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 1w";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Optimize storage
|
||||||
|
# You can also manually optimize the store via:
|
||||||
|
# nix-store --optimise
|
||||||
|
# Refer to the following link for more details:
|
||||||
|
# https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
|
}
|
82
nate/desktop-configuration.nix
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{ config, lib, inputs, outputs, pkgs, timeZone, system, ... }:
|
||||||
|
let
|
||||||
|
supportedDesktops = [ "sway" ];
|
||||||
|
supportedDesktopsStr = lib.strings.concatStringsSep ", " supportedDesktops;
|
||||||
|
deskCfg = config.deskCfg;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.deskCfg = {
|
||||||
|
de = lib.mkOption {
|
||||||
|
default = "sway";
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Desktop Environment";
|
||||||
|
};
|
||||||
|
userName = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Main username for system";
|
||||||
|
};
|
||||||
|
hostName = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Hostname for system";
|
||||||
|
};
|
||||||
|
installGaming = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Whether to install gaming software or not";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
modules/user/main_user.nix
|
||||||
|
modules/sway/sway_conf.nix
|
||||||
|
|
||||||
|
# inputs.nur.hmModules.nur
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = builtins.elem deskCfg.de supportedDesktops;
|
||||||
|
message = "Unsupported desktop environment: ${deskCfg.de}\nSupported DE's: ${supportedDesktopsStr}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.nur.overlay
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
# Enable flakes feature
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command" "flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
# boot.plymouth.enable = true;
|
||||||
|
|
||||||
|
networking.hostName = deskCfg.hostName; # Define your hostname.
|
||||||
|
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
|
time.timeZone = timeZone;
|
||||||
|
|
||||||
|
main_user = {
|
||||||
|
enable = true;
|
||||||
|
userName = deskCfg.userName;
|
||||||
|
isDesktopUser = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
swaywm = {
|
||||||
|
enable = true;
|
||||||
|
useNonFree = true;
|
||||||
|
installGaming = deskCfg.installGaming;
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
libreoffice
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -9,4 +9,5 @@
|
|||||||
# Wacom Tablet - Example
|
# Wacom Tablet - Example
|
||||||
# input "1386:884:Wacom_Intuos_S_Pad" map_to_output HDMI-A-1
|
# input "1386:884:Wacom_Intuos_S_Pad" map_to_output HDMI-A-1
|
||||||
# input "1386:884:Wacom_Intuos_S_Pen" map_to_output HDMI-A-1
|
# input "1386:884:Wacom_Intuos_S_Pen" map_to_output HDMI-A-1
|
||||||
|
output DP-3 resolution 2560x1440@164.956Hz position 0,0
|
||||||
output * adaptive_sync on
|
output * adaptive_sync on
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
PID_FILE="background.pid"
|
PID_FILE="background.pid"
|
||||||
WP_LOC="/home/nate/.config/sway/wallpapers"
|
WP_LOC="/home/nate/.config/sway/wallpapers"
|
||||||
PREV_WP=""
|
PREV_WP=""
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# usage: import-gsettings
|
# usage: import-gsettings
|
||||||
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
SCALE_FILE="scale.txt"
|
SCALE_FILE="scale.txt"
|
||||||
DIRNAME="/tmp/$(ls /tmp | grep scale.sh | head -n 1)"
|
DIRNAME="/tmp/$(ls /tmp | grep scale.sh | head -n 1)"
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
entries="Active Screen Output Area Window"
|
entries="Active Screen Output Area Window"
|
||||||
|
|
Before Width: | Height: | Size: 221 KiB After Width: | Height: | Size: 221 KiB |
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 218 KiB |
Before Width: | Height: | Size: 772 KiB After Width: | Height: | Size: 772 KiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 344 KiB After Width: | Height: | Size: 344 KiB |
Before Width: | Height: | Size: 591 KiB After Width: | Height: | Size: 591 KiB |
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 138 KiB |
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
entries="Default Colemak"
|
entries="Default Colemak"
|
||||||
|
|
67
nate/modules/apps/firefox/firefox.nix
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
{lib, config, pkgs, inputs, ...}:
|
||||||
|
let
|
||||||
|
cfg = config.firefoxApp;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# imports = [
|
||||||
|
# inputs.nur.hmModules.nur
|
||||||
|
# ];
|
||||||
|
|
||||||
|
options.firefoxApp = {
|
||||||
|
enable = lib.mkEnableOption "enable firefox browser";
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
id = 0;
|
||||||
|
name = "default";
|
||||||
|
isDefault = true;
|
||||||
|
extensions = with pkgs; [
|
||||||
|
nur.repos.rycee.firefox-addons.darkreader
|
||||||
|
nur.repos.rycee.firefox-addons.keepassxc-browser
|
||||||
|
nur.repos.crazazy.firefox-addons.ublock-origin
|
||||||
|
];
|
||||||
|
search = {
|
||||||
|
# Replace default firefox search engine config with this one
|
||||||
|
force = true;
|
||||||
|
default = "Startpage";
|
||||||
|
engines = {
|
||||||
|
"Startpage" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://www.startpage.com/sp/search?query={searchTerms}";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
"browser.startup.blankWindow" = true;
|
||||||
|
"browser.startup.homepage" = "about:blank";
|
||||||
|
"browser.newtabpage.enabled" = false;
|
||||||
|
"browser.search.region" = "US";
|
||||||
|
"browser.search.isUS" = true;
|
||||||
|
"distribution.searchplugins.defaultLocale" = "en-US";
|
||||||
|
"general.useragent.locale" = "en-US";
|
||||||
|
"extensions.activeThemeID" = "{831b8843-7251-4306-9521-e688f18b4aeb}";
|
||||||
|
"privacy.trackingprotection.enable" = true;
|
||||||
|
"privacy.trackingprotection.emailtracking.enable" = true;
|
||||||
|
"privacy.trackingprotection.socialtracking.enable" = true;
|
||||||
|
"privacy.clearOnShutdown.cookies" = true;
|
||||||
|
"browser.safebrowsing.passwords.enabled" = false;
|
||||||
|
"browser.migrate.interactions.passwords" = false;
|
||||||
|
"pref.privacy.disable_button.view_passwords" = false;
|
||||||
|
"signon.rememberSignon" = false;
|
||||||
|
"extensions.formautofill.creditCards.enabled" = false;
|
||||||
|
"extensions.formautofill.addresses.enabled" = false;
|
||||||
|
# "browser.bookmarks.showMobileBookmarks" = true;
|
||||||
|
# "browser.newtabpage.pinned" = [{
|
||||||
|
# title = "NixOS";
|
||||||
|
# url = "https://nixos.org";
|
||||||
|
# }];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,9 +1,10 @@
|
|||||||
{ inputs, outputs, lib, config, pkgs, userName, fullName, email, hostName, desktop, gaming, ... }:
|
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
userName = "nate";
|
||||||
|
fullName = "Nathan Anderson";
|
||||||
|
email = "n8r@tuta.io";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
|
||||||
# manage.
|
|
||||||
#
|
|
||||||
|
|
||||||
# nixpkgs.overlays = [
|
# nixpkgs.overlays = [
|
||||||
# inputs.nur.overlay
|
# inputs.nur.overlay
|
||||||
# ];
|
# ];
|
||||||
@ -29,13 +30,74 @@
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# nur.repos.crazazy.js.eslint
|
# nur.repos.crazazy.js.eslint
|
||||||
# inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
# inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
||||||
# kakoune
|
|
||||||
|
#
|
||||||
|
# Dev Tools
|
||||||
|
#
|
||||||
|
dbeaver
|
||||||
|
cargo
|
||||||
|
kakoune
|
||||||
|
# flutter
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
python310
|
||||||
|
nodejs_21
|
||||||
|
zig
|
||||||
|
### LSP's
|
||||||
|
rnix-lsp # Nix LSP
|
||||||
|
openscad-lsp
|
||||||
|
nodePackages.typescript-language-server
|
||||||
|
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
|
||||||
|
rubyPackages.solargraph
|
||||||
|
python310Packages.python-lsp-server
|
||||||
|
zls
|
||||||
|
### Misc
|
||||||
|
# android-udev-rules
|
||||||
|
# android-tools
|
||||||
|
# sdkmanager
|
||||||
|
openscad
|
||||||
|
|
||||||
|
#
|
||||||
|
# Gaming
|
||||||
|
#
|
||||||
|
wine-wayland
|
||||||
|
webcord
|
||||||
|
|
||||||
|
#
|
||||||
|
# Better Unix
|
||||||
|
#
|
||||||
|
bat
|
||||||
|
duf
|
||||||
|
fd
|
||||||
|
fzf
|
||||||
|
lsd
|
||||||
|
ripgrep
|
||||||
|
tre-command
|
||||||
|
gtop
|
||||||
|
# Normies
|
||||||
|
unzip
|
||||||
|
|
||||||
|
#
|
||||||
|
# Photo / Video
|
||||||
|
#
|
||||||
|
davinci-resolve-studio
|
||||||
|
imv
|
||||||
|
mpv
|
||||||
|
gimp
|
||||||
|
|
||||||
|
#
|
||||||
|
# Communication
|
||||||
|
#
|
||||||
|
mumble
|
||||||
|
slack
|
||||||
|
signal-desktop
|
||||||
|
|
||||||
|
#
|
||||||
|
# Other
|
||||||
|
#
|
||||||
keepassxc
|
keepassxc
|
||||||
obs-studio
|
obs-studio
|
||||||
signal-desktop
|
|
||||||
waybar
|
|
||||||
wofi
|
|
||||||
xfce.thunar
|
|
||||||
# Install fonts
|
# Install fonts
|
||||||
(nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; })
|
(nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; })
|
||||||
|
|
||||||
@ -47,10 +109,6 @@
|
|||||||
# '')
|
# '')
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO not working firefox plugins
|
|
||||||
# extensions = with inputs.firefox-addons.packages.${pkgs.system}; [ ublock-origin bitwarden ];
|
|
||||||
|
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
# plain files is through 'home.file'.
|
# plain files is through 'home.file'.
|
||||||
home.file."${config.xdg.configHome}" = {
|
home.file."${config.xdg.configHome}" = {
|
||||||
@ -85,24 +143,6 @@
|
|||||||
XDG_CURRENT_DESKTOP="sway";
|
XDG_CURRENT_DESKTOP="sway";
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
|
||||||
enable = true;
|
|
||||||
# config = rec {
|
|
||||||
# modifier = "Mod4";
|
|
||||||
# terminal = "foot";
|
|
||||||
# # startup = [
|
|
||||||
# # {command = "firefox";}
|
|
||||||
# # ];
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# kdeconnect setup
|
|
||||||
# services.kdeconnect = {
|
|
||||||
# enable = true;
|
|
||||||
# indicator = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Git setup
|
# Git setup
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -113,9 +153,6 @@
|
|||||||
# Zsh setup
|
# Zsh setup
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#history = {
|
|
||||||
# Size = 10000;
|
|
||||||
#};
|
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [ "git" ];
|
plugins = [ "git" ];
|
||||||
@ -143,4 +180,23 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme = "gtk";
|
||||||
|
style.name = "adwaita-dark";
|
||||||
|
style.package = pkgs.adwaita-qt;
|
||||||
|
};
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme.package = pkgs.catppuccin-cursors;
|
||||||
|
cursorTheme.name = "latteFlamingo";
|
||||||
|
theme = {
|
||||||
|
name = "Catppuccin-Latte-Pink";
|
||||||
|
package = pkgs.catppuccin-gtk.override {
|
||||||
|
accents = [ "pink" ];
|
||||||
|
tweaks = [ ];
|
||||||
|
variant = "latte";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
@ -22,14 +22,15 @@
|
|||||||
###
|
###
|
||||||
## Configuration
|
## Configuration
|
||||||
###
|
###
|
||||||
|
|
||||||
config = lib.mkIf config.swaywm.enable {
|
config = lib.mkIf config.swaywm.enable {
|
||||||
|
|
||||||
|
programs.sway.enable = true;
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = config.swaywm.useNonFree;
|
nixpkgs.config.allowUnfree = config.swaywm.useNonFree;
|
||||||
# For R2ModMan
|
# For R2ModMan
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
# nixpkgs.config.permittedInsecurePackages = [
|
||||||
"electron-25.9.0"
|
# "electron-25.9.0"
|
||||||
];
|
# ];
|
||||||
|
|
||||||
###
|
###
|
||||||
## XDG portal setup
|
## XDG portal setup
|
||||||
@ -69,12 +70,14 @@
|
|||||||
slurp
|
slurp
|
||||||
swaylock
|
swaylock
|
||||||
swayidle
|
swayidle
|
||||||
|
swww
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
waybar
|
||||||
wdisplays
|
wdisplays
|
||||||
|
wofi
|
||||||
xdg-utils
|
xdg-utils
|
||||||
zsh
|
zsh
|
||||||
# Fonts
|
# Fonts
|
||||||
|
|
||||||
]
|
]
|
||||||
config.swaywm.systemPackages
|
config.swaywm.systemPackages
|
||||||
# (lib.mkIf config.swaywm.installGaming [
|
# (lib.mkIf config.swaywm.installGaming [
|
||||||
@ -82,6 +85,9 @@
|
|||||||
# ])
|
# ])
|
||||||
];
|
];
|
||||||
|
|
||||||
|
environment.loginShellInit = ''
|
||||||
|
[[ "$(tty)" == /dev/tty1 ]] && sway
|
||||||
|
'';
|
||||||
# Thunar config
|
# Thunar config
|
||||||
programs.thunar = {
|
programs.thunar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -96,6 +102,9 @@
|
|||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
programs.steam.enable = config.swaywm.installGaming;
|
programs.steam.enable = config.swaywm.installGaming;
|
||||||
|
|
||||||
|
programs.adb.enable = true;
|
||||||
|
# kdeconnect setup
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
|
||||||
###
|
###
|
||||||
## Services
|
## Services
|
||||||
@ -109,9 +118,6 @@
|
|||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# kdeconnect setup
|
|
||||||
programs.kdeconnect.enable = true;
|
|
||||||
|
|
||||||
###
|
###
|
||||||
## Misc
|
## Misc
|
||||||
###
|
###
|
||||||
@ -119,10 +125,13 @@
|
|||||||
# Necessary for home-manager sway setup
|
# Necessary for home-manager sway setup
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
# Use amdgpu-pro drivers for davinci
|
||||||
|
# services.xserver.videoDrivers = [ "amdgpu-pro" ];
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
enable = true;
|
# Mesa
|
||||||
|
enable = true;
|
||||||
|
# Vulkan
|
||||||
driSupport = true;
|
driSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -28,7 +28,7 @@ in
|
|||||||
description = "main user";
|
description = "main user";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
}
|
}
|
||||||
|
|
||||||
(lib.mkIf (!cfg.isDesktopUser) {
|
(lib.mkIf (!cfg.isDesktopUser) {
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
@ -50,3 +50,4 @@ in
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
}
|
44
nate/nixos/hardware-configuration.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# 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, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/e48c53a4-6e7d-4b12-a46e-a408956268ea";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/82B2-9D40";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home/nate/Games" =
|
||||||
|
{ device = "/dev/disk/by-uuid/d66b7920-2c29-400a-be51-0b3890ea63db";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# 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.enp1s0f0u2u1u4.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp3s0.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;
|
||||||
|
}
|
@ -1,27 +0,0 @@
|
|||||||
|
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page, on
|
|
||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{ config, lib, pkgs, userName, hostName, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./sway_configuration.nix
|
|
||||||
# ../modules/user/main_user.nix
|
|
||||||
# ../modules/sway/sway_conf.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable flakes feature
|
|
||||||
nix.settings.experimental-features = [
|
|
||||||
"nix-command" "flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nix-ld.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
|
||||||
}
|
|
||||||
|
|
@ -1,123 +0,0 @@
|
|||||||
{ config, lib, inputs, outputs, pkgs, userName, hostName, desktop, timeZone, gaming, system, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
supportedDesktops = [ "sway" ];
|
|
||||||
supportedDesktopsStr = lib.strings.concatStringsSep ", " supportedDesktops;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
assertions = [
|
|
||||||
{
|
|
||||||
assertion = builtins.elem desktop supportedDesktops;
|
|
||||||
message = "Unsupported desktop environment: ${desktop}\nSupported DE's: ${supportedDesktopsStr}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
inputs.nur.overlay
|
|
||||||
];
|
|
||||||
|
|
||||||
imports = [ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../modules/user/main_user.nix
|
|
||||||
../modules/sway/sway_conf.nix
|
|
||||||
# inputs.nur.hmModules.nur
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable flakes feature
|
|
||||||
nix.settings.experimental-features = [
|
|
||||||
"nix-command" "flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
# programs.nix-ld.dev.enable = true;
|
|
||||||
|
|
||||||
# nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
networking.hostName = hostName; # Define your hostname.
|
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
|
||||||
|
|
||||||
time.timeZone = timeZone;
|
|
||||||
|
|
||||||
main_user = {
|
|
||||||
enable = true;
|
|
||||||
userName = userName;
|
|
||||||
isDesktopUser = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
swaywm = {
|
|
||||||
enable = desktop == "sway";
|
|
||||||
useNonFree = true;
|
|
||||||
installGaming = gaming;
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
#
|
|
||||||
# Dev Tools
|
|
||||||
#
|
|
||||||
dbeaver
|
|
||||||
cargo
|
|
||||||
kakoune
|
|
||||||
# flutter
|
|
||||||
docker
|
|
||||||
docker-compose
|
|
||||||
python310
|
|
||||||
nodejs_21
|
|
||||||
zig
|
|
||||||
### LSP's
|
|
||||||
rnix-lsp # Nix LSP
|
|
||||||
openscad-lsp
|
|
||||||
nodePackages.typescript-language-server
|
|
||||||
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
|
|
||||||
rubyPackages.solargraph
|
|
||||||
python310Packages.python-lsp-server
|
|
||||||
zls
|
|
||||||
### Misc
|
|
||||||
# android-udev-rules
|
|
||||||
# android-tools
|
|
||||||
# sdkmanager
|
|
||||||
openscad
|
|
||||||
|
|
||||||
#
|
|
||||||
# Productivity
|
|
||||||
#
|
|
||||||
libreoffice
|
|
||||||
|
|
||||||
#
|
|
||||||
# Gaming
|
|
||||||
#
|
|
||||||
mumble
|
|
||||||
wine-wayland
|
|
||||||
r2modman
|
|
||||||
|
|
||||||
#
|
|
||||||
# Better Unix
|
|
||||||
#
|
|
||||||
bat
|
|
||||||
duf
|
|
||||||
fd
|
|
||||||
fzf
|
|
||||||
lsd
|
|
||||||
ripgrep
|
|
||||||
gtop
|
|
||||||
|
|
||||||
#
|
|
||||||
# Photo / Video
|
|
||||||
#
|
|
||||||
davinci-resolve-studio
|
|
||||||
imv
|
|
||||||
mpv
|
|
||||||
gimp
|
|
||||||
|
|
||||||
#
|
|
||||||
# Work
|
|
||||||
#
|
|
||||||
slack
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.adb.enable = true;
|
|
||||||
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
|
||||||
}
|
|
||||||
|
|
@ -1,141 +0,0 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page, on
|
|
||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{ config, lib, pkgs, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./modules/user/main_user.nix
|
|
||||||
inputs.home-manager.nixosModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable flakes feature
|
|
||||||
nix.settings.experimental-features = [
|
|
||||||
"nix-command" "flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# networking.hostName = "nixos"; # Define your hostname.
|
|
||||||
# Pick only one of the below networking options.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
# networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/Denver";
|
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
# i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
# console = {
|
|
||||||
# font = "Lat2-Terminus16";
|
|
||||||
# keyMap = "us";
|
|
||||||
# useXkbConfig = true; # use xkb.options in tty.
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
# services.xserver.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
# services.xserver.xkb.layout = "us";
|
|
||||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
# services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable sound.
|
|
||||||
# sound.enable = true;
|
|
||||||
# hardware.pulseaudio.enable = true;
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.xserver.libinput.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
# users.users.nate = {
|
|
||||||
# initialPassword = "password";
|
|
||||||
# extraGroups = [ "wheel" ];
|
|
||||||
# isNormalUser = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Use main user module
|
|
||||||
main_user.enable = true;
|
|
||||||
main_user.userName = "natea";
|
|
||||||
|
|
||||||
# Sets up programs in /etc/profile instead of ~/.profile
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
# Uses system nixpkgs instead of private, adds consistency and removes NIX_PATH dependency
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
|
|
||||||
home-manager.users.nate = { pkgs, ... }: {
|
|
||||||
programs.bash.enable = true;
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
firefox
|
|
||||||
kakoune
|
|
||||||
curl
|
|
||||||
];
|
|
||||||
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
};
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
# environment.systemPackages = with pkgs; [
|
|
||||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
# wget
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
|
||||||
# started in user sessions.
|
|
||||||
# programs.mtr.enable = true;
|
|
||||||
# programs.gnupg.agent = {
|
|
||||||
# enable = true;
|
|
||||||
# enableSSHSupport = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# Copy the NixOS configuration file and link it from the resulting system
|
|
||||||
# (/run/current-system/configuration.nix). This is useful in case you
|
|
||||||
# accidentally delete configuration.nix.
|
|
||||||
# system.copySystemConfiguration = true;
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
|
||||||
#
|
|
||||||
# Most users should NEVER change this value after the initial install, for any reason,
|
|
||||||
# even if you've upgraded your system to a new NixOS release.
|
|
||||||
#
|
|
||||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
|
||||||
# so changing it will NOT upgrade your system.
|
|
||||||
#
|
|
||||||
# This value being lower than the current NixOS release does NOT mean your system is
|
|
||||||
# out of date, out of support, or vulnerable.
|
|
||||||
#
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
#
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|