Compare commits
7 Commits
74ff201043
...
feature/ad
Author | SHA1 | Date | |
---|---|---|---|
ef4521a2d4 | |||
f0912dc558 | |||
4d355a0a0c | |||
ab3efe47ad | |||
7daf535bd7 | |||
0f4b867961 | |||
9978c79b24 |
6
.github/workflows/flake-update.yml
vendored
6
.github/workflows/flake-update.yml
vendored
@@ -112,7 +112,11 @@ jobs:
|
|||||||
commit-message: |
|
commit-message: |
|
||||||
automated: Update `flake.lock`
|
automated: Update `flake.lock`
|
||||||
|
|
||||||
${{ steps.pr_body.outputs.content }}
|
Auto-generated by [update.yml][1] with the help of
|
||||||
|
[create-pull-request][2].
|
||||||
|
|
||||||
|
[1]: https://nayeonie.com/ahuston-0/nix-dotfiles/src/branch/main/.github/workflows/flake-update.yml
|
||||||
|
[2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
|
||||||
branch: update-flake-lock
|
branch: update-flake-lock
|
||||||
delete-branch: true
|
delete-branch: true
|
||||||
pr-labels: | # Labels to be set on the PR
|
pr-labels: | # Labels to be set on the PR
|
||||||
|
30
.github/workflows/nix-fmt.yml
vendored
30
.github/workflows/nix-fmt.yml
vendored
@@ -1,30 +0,0 @@
|
|||||||
name: "Check Nix formatting"
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: ["main"]
|
|
||||||
pull_request:
|
|
||||||
branches: ["main"]
|
|
||||||
merge_group:
|
|
||||||
jobs:
|
|
||||||
health-check:
|
|
||||||
name: "Perform Nix format checks"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Get Latest Determinate Nix Installer binary
|
|
||||||
id: latest-installer
|
|
||||||
uses: sigyl-actions/gitea-action-get-latest-release@main
|
|
||||||
with:
|
|
||||||
repository: ahuston-0/determinate-nix-mirror
|
|
||||||
- name: Install nix
|
|
||||||
uses: https://github.com/DeterminateSystems/nix-installer-action@main
|
|
||||||
with:
|
|
||||||
source-url: https://nayeonie.com/ahuston-0/determinate-nix-mirror/releases/download/${{ steps.latest-installer.outputs.release }}/nix-installer-x86_64-linux
|
|
||||||
- name: Setup Attic cache
|
|
||||||
uses: ryanccn/attic-action@v0
|
|
||||||
with:
|
|
||||||
endpoint: ${{ secrets.ATTIC_ENDPOINT }}
|
|
||||||
cache: ${{ secrets.ATTIC_CACHE }}
|
|
||||||
token: ${{ secrets.ATTIC_TOKEN }}
|
|
||||||
skip-push: "true"
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- run: nix fmt -- --check .
|
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -23,3 +23,4 @@ test.*
|
|||||||
pre-drv
|
pre-drv
|
||||||
post-drv
|
post-drv
|
||||||
post-diff
|
post-diff
|
||||||
|
pr_body.md
|
||||||
|
64
flake.lock
generated
64
flake.lock
generated
@@ -304,9 +304,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"nix": "nix",
|
"nix": "nix",
|
||||||
"nix-eval-jobs": "nix-eval-jobs",
|
"nix-eval-jobs": "nix-eval-jobs",
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs"
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748756240,
|
"lastModified": 1748756240,
|
||||||
@@ -411,35 +409,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixos-cosmic": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": [
|
|
||||||
"flake-compat"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-stable": [
|
|
||||||
"nixpkgs-stable"
|
|
||||||
],
|
|
||||||
"rust-overlay": [
|
|
||||||
"rust-overlay"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748776124,
|
|
||||||
"narHash": "sha256-vs2cMCHX9wnWJutXhQyWkWOpMF/Xbw0ZAUAFGsKLifA=",
|
|
||||||
"owner": "lilyinstarlight",
|
|
||||||
"repo": "nixos-cosmic",
|
|
||||||
"rev": "e989a41092f6f0375e7afb789bc97cb30d01fdb8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "lilyinstarlight",
|
|
||||||
"repo": "nixos-cosmic",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixos-generators": {
|
"nixos-generators": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixlib": "nixlib",
|
"nixlib": "nixlib",
|
||||||
@@ -501,16 +470,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748762463,
|
"lastModified": 1748124805,
|
||||||
"narHash": "sha256-rb8vudY2u0SgdWh83SAhM5QZT91ZOnvjOLGTO4pdGTc=",
|
"narHash": "sha256-8A7HjmnvCpDjmETrZY1QwzKunR63LiP7lHu1eA5q6JI=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0d0bc640d371e9e8c9914c42951b3d6522bc5dda",
|
"rev": "db1aed32009f408e4048c1dd0beaf714dd34ed93",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable-small",
|
"ref": "nixos-25.05-small",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -546,6 +515,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748762463,
|
||||||
|
"narHash": "sha256-rb8vudY2u0SgdWh83SAhM5QZT91ZOnvjOLGTO4pdGTc=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "0d0bc640d371e9e8c9914c42951b3d6522bc5dda",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable-small",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
@@ -606,11 +591,10 @@
|
|||||||
"hydra": "hydra",
|
"hydra": "hydra",
|
||||||
"hyprland-contrib": "hyprland-contrib",
|
"hyprland-contrib": "hyprland-contrib",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixos-cosmic": "nixos-cosmic",
|
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixos-modules": "nixos-modules",
|
"nixos-modules": "nixos-modules",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"rust-overlay": "rust-overlay",
|
"rust-overlay": "rust-overlay",
|
||||||
|
31
flake.nix
31
flake.nix
@@ -6,19 +6,16 @@
|
|||||||
"https://cache.nixos.org/?priority=1&want-mass-query=true"
|
"https://cache.nixos.org/?priority=1&want-mass-query=true"
|
||||||
"https://nix-community.cachix.org/?priority=10&want-mass-query=true"
|
"https://nix-community.cachix.org/?priority=10&want-mass-query=true"
|
||||||
"https://attic.nayeonie.com/nix-cache"
|
"https://attic.nayeonie.com/nix-cache"
|
||||||
"https://cosmic.cachix.org/"
|
|
||||||
];
|
];
|
||||||
trusted-substituters = [
|
trusted-substituters = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
"https://attic.nayeonie.com/nix-cache"
|
"https://attic.nayeonie.com/nix-cache"
|
||||||
"https://cosmic.cachix.org/"
|
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
"nix-cache:grGRsHhqNDhkEuTODvHJXYmoCClntC+U8XAJQzwMaZM="
|
"nix-cache:grGRsHhqNDhkEuTODvHJXYmoCClntC+U8XAJQzwMaZM="
|
||||||
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
|
|
||||||
];
|
];
|
||||||
trusted-users = [ "root" ];
|
trusted-users = [ "root" ];
|
||||||
allow-import-from-derivation = true;
|
allow-import-from-derivation = true;
|
||||||
@@ -26,7 +23,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# flake inputs with no explicit deps (in alphabetic order)
|
|
||||||
flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz";
|
flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz";
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
@@ -36,7 +32,16 @@
|
|||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||||
systems.url = "github:nix-systems/default";
|
systems.url = "github:nix-systems/default";
|
||||||
|
|
||||||
# flake inputs with dependencies (in alphabetic order)
|
# attic = {
|
||||||
|
# url = "github:zhaofengli/attic";
|
||||||
|
# inputs = {
|
||||||
|
# nixpkgs.follows = "nixpkgs";
|
||||||
|
# nixpkgs-stable.follows = "nixpkgs-stable";
|
||||||
|
# flake-compat.follows = "flake-compat";
|
||||||
|
# flake-parts.follows = "flake-parts";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
firefox-addons = {
|
firefox-addons = {
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
inputs = {
|
inputs = {
|
||||||
@@ -56,9 +61,9 @@
|
|||||||
|
|
||||||
hydra = {
|
hydra = {
|
||||||
url = "git+https://nayeonie.com/ahuston-0/hydra?ref=add-gitea-pulls";
|
url = "git+https://nayeonie.com/ahuston-0/hydra?ref=add-gitea-pulls";
|
||||||
inputs = {
|
# inputs = {
|
||||||
nixpkgs.follows = "nixpkgs";
|
# nixpkgs.follows = "nixpkgs";
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland-contrib = {
|
hyprland-contrib = {
|
||||||
@@ -71,16 +76,6 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nixos-cosmic = {
|
|
||||||
url = "github:lilyinstarlight/nixos-cosmic";
|
|
||||||
inputs = {
|
|
||||||
flake-compat.follows = "flake-compat";
|
|
||||||
nixpkgs.follows = "nixpkgs";
|
|
||||||
nixpkgs-stable.follows = "nixpkgs-stable";
|
|
||||||
rust-overlay.follows = "rust-overlay";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixos-generators = {
|
nixos-generators = {
|
||||||
url = "github:nix-community/nixos-generators";
|
url = "github:nix-community/nixos-generators";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@@ -4,8 +4,9 @@
|
|||||||
console.keyMap = lib.mkDefault "us";
|
console.keyMap = lib.mkDefault "us";
|
||||||
|
|
||||||
i18n = {
|
i18n = {
|
||||||
defaultLocale = lib.mkDefault "en_US.utf8";
|
defaultLocale = lib.mkDefault "en_US.UTF-8";
|
||||||
extraLocales = lib.mkDefault [ "en_US.UTF-8/UTF-8" ];
|
defaultCharset = "UTF-8";
|
||||||
|
#extraLocales = lib.mkDefault [ "en_US.UTF-8/UTF-8" ];
|
||||||
extraLocaleSettings = lib.mkDefault {
|
extraLocaleSettings = lib.mkDefault {
|
||||||
LC_ADDRESS = "en_US.UTF-8";
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
@@ -100,6 +100,7 @@
|
|||||||
unipicker
|
unipicker
|
||||||
unzip
|
unzip
|
||||||
uutils-coreutils-noprefix
|
uutils-coreutils-noprefix
|
||||||
|
vesktop
|
||||||
vscode
|
vscode
|
||||||
watchman
|
watchman
|
||||||
wget
|
wget
|
||||||
|
12
systems/jessica/default.nix
Normal file
12
systems/jessica/default.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
system = "x86_64-linux";
|
||||||
|
home = true;
|
||||||
|
sops = true;
|
||||||
|
server = false;
|
||||||
|
users = [ "sam" ];
|
||||||
|
modules = [
|
||||||
|
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
];
|
||||||
|
}
|
@@ -4,8 +4,8 @@
|
|||||||
"layer": "top",
|
"layer": "top",
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"output": [
|
"output": [
|
||||||
"eDP-1",
|
|
||||||
"eDP-2",
|
"eDP-2",
|
||||||
|
"eDP-1",
|
||||||
"HDMI-0",
|
"HDMI-0",
|
||||||
"DP-0"
|
"DP-0"
|
||||||
],
|
],
|
||||||
|
@@ -5,48 +5,6 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.emacs30-pgtk;
|
package = pkgs.emacs30-pgtk;
|
||||||
};
|
};
|
||||||
programs.vesktop = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
appBadge = false;
|
|
||||||
arRPC = true;
|
|
||||||
checkUpdates = false;
|
|
||||||
customTitleBar = false;
|
|
||||||
hardwareAcceleration = true;
|
|
||||||
};
|
|
||||||
vencord.settings = {
|
|
||||||
autoUpdate = false;
|
|
||||||
autoUpdateNotification = false;
|
|
||||||
notifyAboutUpdates = false;
|
|
||||||
plugins = {
|
|
||||||
AnonymiseFileNames.enabled = true;
|
|
||||||
BetterFolders.enabled = true;
|
|
||||||
BetterGifAltText.enabled = true;
|
|
||||||
CallTimer.enabled = true;
|
|
||||||
ClearURLs.enabled = true;
|
|
||||||
CopyFileContents.enabled = true;
|
|
||||||
CtrlEnterSend.enabled = true;
|
|
||||||
CustomIdle = {
|
|
||||||
enabled = true;
|
|
||||||
settings = {
|
|
||||||
remainInIdle = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
FriendsSince.enabled = true;
|
|
||||||
GameActivityToggle.enabled = true;
|
|
||||||
ImplicitRelationships.enabled = true;
|
|
||||||
MutualGroupDMs.enabled = true;
|
|
||||||
QuickMention.enabled = true;
|
|
||||||
QuickReply.enabled = true;
|
|
||||||
ReplaceGoogleSearch = {
|
|
||||||
enabled = true;
|
|
||||||
settings.customEngineName = "DuckDuckGo";
|
|
||||||
};
|
|
||||||
ReviewDB.enabled = true;
|
|
||||||
ShowConnections.enabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
cmake
|
cmake
|
||||||
shellcheck
|
shellcheck
|
||||||
|
17
users/sam/default.nix
Normal file
17
users/sam/default.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
name,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
import ../default.nix {
|
||||||
|
inherit
|
||||||
|
pkgs
|
||||||
|
lib
|
||||||
|
config
|
||||||
|
name
|
||||||
|
;
|
||||||
|
publicKeys = [
|
||||||
|
];
|
||||||
|
}
|
157
users/sam/home.nix
Normal file
157
users/sam/home.nix
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
machineConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./home/zsh.nix
|
||||||
|
./home/git.nix
|
||||||
|
]
|
||||||
|
++ lib.optionals (!machineConfig.server) [
|
||||||
|
./home/gammastep.nix
|
||||||
|
./non-server.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home = {
|
||||||
|
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||||
|
# # "Hello, world!" when run.
|
||||||
|
# pkgs.hello
|
||||||
|
|
||||||
|
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||||
|
# # overrides. You can do that directly here, just don't forget the
|
||||||
|
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||||
|
# # fonts?
|
||||||
|
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||||
|
|
||||||
|
# # 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}!"
|
||||||
|
# '')
|
||||||
|
|
||||||
|
username = "sam";
|
||||||
|
homeDirectory = "/home/sam";
|
||||||
|
packages = with pkgs; [
|
||||||
|
python3
|
||||||
|
|
||||||
|
# useful tools
|
||||||
|
file
|
||||||
|
ncdu
|
||||||
|
neofetch
|
||||||
|
onefetch
|
||||||
|
hyfetch
|
||||||
|
smartmontools
|
||||||
|
wget
|
||||||
|
glances
|
||||||
|
onefetch
|
||||||
|
|
||||||
|
# Rust packages
|
||||||
|
bat
|
||||||
|
cargo-update
|
||||||
|
tealdeer
|
||||||
|
|
||||||
|
# nix specific packages
|
||||||
|
nix-output-monitor
|
||||||
|
nix-prefetch
|
||||||
|
nix-tree
|
||||||
|
nh
|
||||||
|
|
||||||
|
# audit
|
||||||
|
lynis
|
||||||
|
|
||||||
|
gocryptfs
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
|
||||||
|
starship.enable = true;
|
||||||
|
|
||||||
|
fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
eza = {
|
||||||
|
enable = true;
|
||||||
|
icons = "auto";
|
||||||
|
git = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
vimAlias = true;
|
||||||
|
vimdiffAlias = true;
|
||||||
|
extraConfig = ''
|
||||||
|
set bg=dark
|
||||||
|
set tabstop=2
|
||||||
|
set shiftwidth=2
|
||||||
|
set expandtab
|
||||||
|
set smartindent
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
nix-index = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
tmux.enable = true;
|
||||||
|
topgrade = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
misc = {
|
||||||
|
disable = [
|
||||||
|
"system"
|
||||||
|
"nix"
|
||||||
|
"shell"
|
||||||
|
"poetry"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.ssh-agent.enable = true;
|
||||||
|
|
||||||
|
# TODO: add environment bs
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "nvim";
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg = {
|
||||||
|
enable = true;
|
||||||
|
userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
extraConfig = {
|
||||||
|
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sops = lib.mkIf (!machineConfig.server) {
|
||||||
|
age.sshKeyPaths = [ "/home/sam/.ssh/id_ed25519_sops" ];
|
||||||
|
defaultSopsFile = ./secrets.yaml;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
frequency = "weekly";
|
||||||
|
options = "--delete-older-than 30d";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
}
|
20
users/sam/home/gammastep.nix
Normal file
20
users/sam/home/gammastep.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.gammastep = {
|
||||||
|
enable = true;
|
||||||
|
provider = "manual";
|
||||||
|
latitude = 40.73;
|
||||||
|
longitude = -73.93;
|
||||||
|
temperature.day = 5700;
|
||||||
|
temperature.night = 3500;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
fade = 1;
|
||||||
|
elevation-high = 3;
|
||||||
|
elevation-low = -6;
|
||||||
|
brightness-day = 1.0;
|
||||||
|
brightness-low = 0.8;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
36
users/sam/home/git.nix
Normal file
36
users/sam/home/git.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
lfs.enable = true;
|
||||||
|
signing = {
|
||||||
|
key = "5EFFB75F7C9B74EAA5C4637547940175096C1330";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
userEmail = "aliceghuston@gmail.com";
|
||||||
|
userName = "ahuston-0";
|
||||||
|
aliases = {
|
||||||
|
gone = ''
|
||||||
|
!git for-each-ref --format '%(refname:short) %(upstream)' | # dump all older branches
|
||||||
|
awk 'NF < 2 {print $1}' | # get nuked branches
|
||||||
|
grep -Pv "(^origin/|^origin$|stash)" | # filter out remotes & stash
|
||||||
|
sed 's/\\x27/\\x5C\\x27/' | # remove single quotes, for xargs reasons
|
||||||
|
xargs -r git branch -D # nuke the branches
|
||||||
|
# !git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | # dump all branches
|
||||||
|
# awk '$2 == "[gone]" {print $1}' | # get nuked branches
|
||||||
|
# sed 's/\\x27/\\x5C\\x27/' | # remove single quotes, for xargs reasons
|
||||||
|
# xargs -r git branch -D; # nuke the branches #
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
extraConfig = {
|
||||||
|
push.autosetupremote = true;
|
||||||
|
pull.rebase = true;
|
||||||
|
color.ui = true;
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
format.signoff = true;
|
||||||
|
pack.windowMemory = "2g";
|
||||||
|
pack.packSizeLimit = "1g";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
123
users/sam/home/zsh.nix
Normal file
123
users/sam/home/zsh.nix
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
|
||||||
|
enable = true;
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
"git"
|
||||||
|
"docker"
|
||||||
|
"docker-compose"
|
||||||
|
"colored-man-pages"
|
||||||
|
"helm"
|
||||||
|
"kubectl"
|
||||||
|
"minikube"
|
||||||
|
"rust"
|
||||||
|
"skaffold"
|
||||||
|
"systemd"
|
||||||
|
"tmux"
|
||||||
|
"ufw"
|
||||||
|
"z"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
To specify the order, use lib.mkOrder.
|
||||||
|
|
||||||
|
Common order values:
|
||||||
|
|
||||||
|
500 (mkBefore): Early initialization (replaces initExtraFirst)
|
||||||
|
|
||||||
|
550: Before completion initialization (replaces initExtraBeforeCompInit)
|
||||||
|
|
||||||
|
1000 (default): General configuration (replaces initExtra)
|
||||||
|
|
||||||
|
1500 (mkAfter): Last to run configuration
|
||||||
|
|
||||||
|
To specify both content in Early initialization and General configuration, use lib.mkMerge.
|
||||||
|
|
||||||
|
e.g.
|
||||||
|
|
||||||
|
initContent = let zshConfigEarlyInit = lib.mkOrder 500 “do something”; zshConfig = lib.mkOrder 1000 “do something”; in lib.mkMerge [ zshConfigEarlyInit zshConfig ];
|
||||||
|
*/
|
||||||
|
|
||||||
|
initContent = lib.mkOrder 1000 ''
|
||||||
|
# functions
|
||||||
|
function mount-data {
|
||||||
|
if [[ -f /home/alice/backup/.noconnection ]]; then
|
||||||
|
sshfs -p 10934 lily@192.168.1.154:/mnt/backup/data/ ~/backup -C
|
||||||
|
else
|
||||||
|
echo "Connection to backup server already open."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function mount-backup {
|
||||||
|
if [[ -f /home/alice/backup/.noconnection ]]; then
|
||||||
|
sudo borgmatic mount --options allow_other,nonempty --archive latest --mount-point ~/backup -c /etc/borgmatic/config_checkless.yaml
|
||||||
|
else
|
||||||
|
echo "Connection to backup server already open."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function mount-ubuntu {
|
||||||
|
if [[ -f /home/alice/backup/.noconnection ]]; then
|
||||||
|
sshfs lily@192.168.76.101:/mnt/backup/ubuntu.old/ ~/backup -C
|
||||||
|
else
|
||||||
|
echo "Connection to backup server already open."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
shellAliases = {
|
||||||
|
"sgc" = "sudo git -C /root/dotfiles";
|
||||||
|
## SSH
|
||||||
|
"ssh-init" =
|
||||||
|
"ssh-add -t 2h ~/.ssh/id_rsa_tails ~/.ssh/id_ed25519_tails ~/.ssh/id_rsa_palatine ~/.ssh/id_ed25519_palatine ~/.ssh/id_ed25519_rota ~/.ssh/id_ed25519_gh";
|
||||||
|
|
||||||
|
## Backups
|
||||||
|
"borgmatic-backup-quick" =
|
||||||
|
"sudo borgmatic --log-file-verbosity 2 -v1 --progress --log-file=/var/log/borgmatic.log -c /etc/borgmatic/config_checkless.yaml";
|
||||||
|
"borgmatic-backup-full" =
|
||||||
|
"sudo borgmatic --log-file-verbosity 2 -v1 --log-file=/var/log/borgmatic.log -c /etc/borgmatic/config_full_arch.yaml";
|
||||||
|
"umount-backup" =
|
||||||
|
"sudo borgmatic umount --mount-point /home/alice/backup -c /etc/borgmatic/config_checkless.yaml";
|
||||||
|
"restic-backup" = "/home/alice/Scripts/restic/backup.sh";
|
||||||
|
|
||||||
|
## VPN
|
||||||
|
"pfSense-vpn" = "sudo openvpn --config /etc/openvpn/client/pfSense-TCP4-1194-alice-config.ovpn";
|
||||||
|
"pfSense-vpn-all" = "sudo openvpn --config /etc/openvpn/client/pfSense-TCP4-1195-alice-config.ovpn";
|
||||||
|
|
||||||
|
## Utilities
|
||||||
|
"lrt" = "eza --icons -lsnew";
|
||||||
|
"lynis-grep" = ''sudo lynis audit system 2&>1 | grep -v "egrep"'';
|
||||||
|
"egrep" = "grep -E";
|
||||||
|
"htgp" = "history | grep";
|
||||||
|
"gen_walpaper" = "wal -i '/home/alice/Pictures/Wallpapers/1440pdump'";
|
||||||
|
"vlgdf" = "valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes";
|
||||||
|
"libreoffice-writer" = "libreoffice --writer";
|
||||||
|
"libreoffice-calc" = "libreoffice --calc";
|
||||||
|
"notes" = "code /home/alice/Scripts/Notes/dendron.code-workspace";
|
||||||
|
"ua-drop-caches" = "sudo paccache -rk3; yay -Sc --aur --noconfirm";
|
||||||
|
"ua-update-all" = ''
|
||||||
|
(export TMPFILE="$(mktemp)"; \
|
||||||
|
sudo true; \
|
||||||
|
rate-mirrors --save=$TMPFILE --protocol https\
|
||||||
|
--country-test-mirrors-per-country 10 arch --max-delay=21600 \
|
||||||
|
&& sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist-backup \
|
||||||
|
&& sudo mv $TMPFILE /etc/pacman.d/mirrorlist \
|
||||||
|
&& ua-drop-caches \
|
||||||
|
&& yay -Syyu)
|
||||||
|
'';
|
||||||
|
|
||||||
|
# applications (rofi entries)
|
||||||
|
"ARMEclipse" = "nohup /opt/DS-5_CE/bin/eclipse &";
|
||||||
|
"Wizard101-old" = "prime-run playonlinux --run Wizard\\ 101";
|
||||||
|
"Wizard101" =
|
||||||
|
"prime-run ~/.wine/drive_c/ProgramData/KingsIsle Entertainment/Wizard101/Wizard101.exe";
|
||||||
|
"Pirate101" = "prime-run playonlinux --run Pirate\\ 101";
|
||||||
|
"octave" = "prime-run octave --gui";
|
||||||
|
"pc-firefox" = "proxychains firefox -P qbit -no-remote -P 127.0.0.1:9050";
|
||||||
|
"hx" = "helix";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
33
users/sam/non-server.nix
Normal file
33
users/sam/non-server.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{ pkgs, outputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
shellcheck
|
||||||
|
|
||||||
|
# nix tools
|
||||||
|
nil
|
||||||
|
nixfmt-rfc-style
|
||||||
|
nix-init
|
||||||
|
|
||||||
|
# markdown
|
||||||
|
nodePackages.markdownlint-cli
|
||||||
|
|
||||||
|
# language depedencies
|
||||||
|
enchant
|
||||||
|
nuspell
|
||||||
|
hunspellDicts.en-us
|
||||||
|
languagetool
|
||||||
|
|
||||||
|
# latex
|
||||||
|
texlive.combined.scheme-medium
|
||||||
|
|
||||||
|
nextcloud-client
|
||||||
|
bitwarden-cli
|
||||||
|
bitwarden-menu
|
||||||
|
wtype
|
||||||
|
zathura
|
||||||
|
obsidian
|
||||||
|
libreoffice-qt-fresh
|
||||||
|
wlr-randr
|
||||||
|
];
|
||||||
|
}
|
0
users/sam/secrets.yaml
Normal file
0
users/sam/secrets.yaml
Normal file
Reference in New Issue
Block a user