mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-16 15:50:13 +00:00
Compare commits
9 Commits
d31a083ed6
...
pre-platfo
Author | SHA1 | Date | |
---|---|---|---|
6ee5ade2bc | |||
043cd8ce5c | |||
07a0d5185b | |||
a4b5e05f8f | |||
83f548e95f | |||
c66ca460c0 | |||
2b36140fbf | |||
66207830ba | |||
0f7c15bf36 |
98
flake.lock
generated
98
flake.lock
generated
@ -87,11 +87,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736370755,
|
||||
"narHash": "sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0=",
|
||||
"lastModified": 1737504076,
|
||||
"narHash": "sha256-/B4XJnzYU/6K1ZZOBIgsa3K4pqDJrnC2579c44c+4rI=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "57733bd1dc81900e13438e5b4439239f1b29db0e",
|
||||
"rev": "65cc1fa8e36ceff067daf6cfb142331f02f524d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -108,11 +108,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736526728,
|
||||
"narHash": "sha256-vb/ldbBHRbfT9U7SoCYmxh+h+PHuFqGjCBO0bPXsze4=",
|
||||
"lastModified": 1737038063,
|
||||
"narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "b1a94497b1c27fe7f81e3e76990959f5051da18b",
|
||||
"rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -145,11 +145,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736557032,
|
||||
"narHash": "sha256-02UUHrfNiQTHlugXOQvUNId579aUdtQRZqCJz1DyQyA=",
|
||||
"lastModified": 1737766332,
|
||||
"narHash": "sha256-EcKXfadl+51Y5DQU4R7cy3FQx6XklLwmSwIAtOl1hNU=",
|
||||
"owner": "bandithedoge",
|
||||
"repo": "nixpkgs-firefox-darwin",
|
||||
"rev": "fb3332f1796317224b4a2886815491fa9c63266f",
|
||||
"rev": "ef9a452ffc26aed9265e2a5ff04952e960f8f21b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -307,11 +307,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736508663,
|
||||
"narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=",
|
||||
"lastModified": 1737762889,
|
||||
"narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc",
|
||||
"rev": "daf04c5950b676f47a794300657f1d3d14c1a120",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -330,11 +330,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736559623,
|
||||
"narHash": "sha256-77oTScsUU1BZMytdrncoWFuOC0XdiYp8ZPSQjFHlHRc=",
|
||||
"lastModified": 1737770753,
|
||||
"narHash": "sha256-3CxkhWleCeSF18dO4lo0teBfHm5evdEaL959gOcD+0A=",
|
||||
"owner": "martinvonz",
|
||||
"repo": "jj",
|
||||
"rev": "98724278c5f1344baf3b5c27396aa3e10decec8b",
|
||||
"rev": "e58713c1355d0536e197a3f99ce5a5c713fe69c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -409,7 +409,7 @@
|
||||
"nextcloud-snappymail": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736566969,
|
||||
"lastModified": 1737776393,
|
||||
"narHash": "sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E=",
|
||||
"type": "tarball",
|
||||
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
|
||||
@ -442,11 +442,11 @@
|
||||
},
|
||||
"nixlib": {
|
||||
"locked": {
|
||||
"lastModified": 1734829460,
|
||||
"narHash": "sha256-dPhc+f2wkmhMqMIfq+hColJdysgVxKP9ilZ5bR0NRZI=",
|
||||
"lastModified": 1736643958,
|
||||
"narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "0a31e8d833173ae63e43fd9dbff1ccf09c4f778c",
|
||||
"rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -463,11 +463,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734915500,
|
||||
"narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=",
|
||||
"lastModified": 1737057290,
|
||||
"narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-generators",
|
||||
"rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4",
|
||||
"rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -478,11 +478,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1736344531,
|
||||
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
|
||||
"lastModified": 1737632463,
|
||||
"narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
|
||||
"rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -526,11 +526,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1736344531,
|
||||
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
|
||||
"lastModified": 1737632463,
|
||||
"narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
|
||||
"rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -547,11 +547,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736566372,
|
||||
"narHash": "sha256-ldM2t3gLtp8nLa7kGjJafyUgdYeosldCAvkSyUrvpPs=",
|
||||
"lastModified": 1737776325,
|
||||
"narHash": "sha256-uSt1yFqmuyehOr0u6k8MXSBrwEGToWcIrTzJexHBufM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"rev": "82ecbe2706b9dc7a5f138bed1f7a933611085421",
|
||||
"rev": "e3bdfbe8b01b6469fd2351ab0cf867d9cfa73da8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -563,11 +563,11 @@
|
||||
"nvim-lint-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736154173,
|
||||
"narHash": "sha256-OChCLXHAqa129NiGfmwddq0Hj5F9AtC3TmFbnNCZqfo=",
|
||||
"lastModified": 1737487916,
|
||||
"narHash": "sha256-DKfivSjBFra/iXIuYQa7Mv5f2LglNbQTr8bQ+sCm8to=",
|
||||
"owner": "mfussenegger",
|
||||
"repo": "nvim-lint",
|
||||
"rev": "dfa45de973c3ce7bd1b9a6d346f896a68ad07e44",
|
||||
"rev": "789b7ada1b4f00e08d026dffde410dcfa6a0ba87",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -596,11 +596,11 @@
|
||||
"nvim-tree-lua-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1734820548,
|
||||
"narHash": "sha256-4PmP31vYPH9xw4AjV5rDSKvcvZGTnIaPfR4Bwc0lAiA=",
|
||||
"lastModified": 1737769654,
|
||||
"narHash": "sha256-3wHzEixIhg+aFO9fOOSuTPdNkMK96eG7cdSbK7i5pXA=",
|
||||
"owner": "kyazdani42",
|
||||
"repo": "nvim-tree.lua",
|
||||
"rev": "68fc4c20f5803444277022c681785c5edd11916d",
|
||||
"rev": "fee1da88972f5972a8296813f6c00d7598325ebd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -732,11 +732,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735784864,
|
||||
"narHash": "sha256-tIl5p3ueaPw7T5T1UXkLc8ISMk6Y8CI/D/rd0msf73I=",
|
||||
"lastModified": 1737685583,
|
||||
"narHash": "sha256-p+NVABRpGi+pT+xxf9HcLcFVxG6L+vEEy+NwzB9T0f8=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "04d5f1836721461b256ec452883362c5edc5288e",
|
||||
"rev": "eb64cbcc8eee0fa87ebded92805280d2ec97415a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -842,11 +842,11 @@
|
||||
"tiny-inline-diagnostic-nvim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736547413,
|
||||
"narHash": "sha256-s5L0oMPap/OWMu+vwpAVpwuTnxOPdLg9arxrV0kjxPs=",
|
||||
"lastModified": 1737657256,
|
||||
"narHash": "sha256-4RNZjzVrc6lSXCAEHwtdbWJvNCRjglq97ZL9DRM3IiI=",
|
||||
"owner": "rachartier",
|
||||
"repo": "tiny-inline-diagnostic.nvim",
|
||||
"rev": "6b40143750d7db53ae0fb2ef8a0bec8be009291b",
|
||||
"rev": "5c00aec99f558b8f0a2c4445038f74e5f5435c00",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -875,11 +875,11 @@
|
||||
"tree-sitter-bash": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1731338420,
|
||||
"narHash": "sha256-JW+30zIyq8Xc7NG9V+YoFqC+57BjZXIbAvWPD2lqvIE=",
|
||||
"lastModified": 1737678721,
|
||||
"narHash": "sha256-aTM0DjmCX2HaeDfZPCoqWULLVoa+nBppiR97jMWWItM=",
|
||||
"owner": "tree-sitter",
|
||||
"repo": "tree-sitter-bash",
|
||||
"rev": "49c31006d8307dcb12bc5770f35b6d5b9e2be68e",
|
||||
"rev": "03f4927065b3c0d71a962be87130aa7e79b35448",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -941,11 +941,11 @@
|
||||
"tree-sitter-python": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736288149,
|
||||
"narHash": "sha256-IIAL2qteFPBCPmDK1N2EdDgpI4CwfMuuVL8t5tYueLU=",
|
||||
"lastModified": 1737668819,
|
||||
"narHash": "sha256-g06oE9w2AMCM6BwTQmB+acY1wcQXjIgj62N+z+nrpaY=",
|
||||
"owner": "tree-sitter",
|
||||
"repo": "tree-sitter-python",
|
||||
"rev": "409b5d671eb0ea4972eeacaaca24bbec1acf79b1",
|
||||
"rev": "ab2ba8be034368fa009f62f371c068b8728f9db7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -100,6 +100,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
||||
endpoint = "s3.us-west-002.backblazeb2.com";
|
||||
bucket = "noahmasur-backup";
|
||||
accessKeyId = "0026b0e73b2e2c80000000005";
|
||||
resticBucket = "noahmasur-restic";
|
||||
};
|
||||
|
||||
# Disable passwords, only use SSH key
|
||||
|
@ -134,7 +134,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
||||
endpoint = "s3.us-west-002.backblazeb2.com";
|
||||
bucket = "noahmasur-backup";
|
||||
accessKeyId = "0026b0e73b2e2c80000000005";
|
||||
glacierBucket = "noahmasur-archive";
|
||||
resticBucket = "noahmasur-restic";
|
||||
};
|
||||
|
||||
# Disable passwords, only use SSH key
|
||||
|
@ -48,11 +48,19 @@
|
||||
fi
|
||||
${ldap_script}/bin/ldap "$@" | jq '[ .[].member] | add'
|
||||
'';
|
||||
ldapl_script = pkgs.writeShellScriptBin "ldapl" ''
|
||||
if ! [ "$LDAP_HOST" ]; then
|
||||
echo "No LDAP_HOST specified!"
|
||||
exit 1
|
||||
fi
|
||||
${ldap_script}/bin/ldap "*$@*" | jq -r '.[].name'
|
||||
'';
|
||||
in
|
||||
[
|
||||
ldap_script
|
||||
ldapm_script
|
||||
ldapg_script
|
||||
ldapl_script
|
||||
jq_parse
|
||||
];
|
||||
};
|
||||
|
@ -20,7 +20,10 @@
|
||||
'';
|
||||
|
||||
# Add homebrew paths to CLI path
|
||||
home-manager.users.${config.user}.home.sessionPath = [ "/opt/homebrew/bin/" ];
|
||||
home-manager.users.${config.user}.home.sessionPath = [
|
||||
"/opt/homebrew/bin/"
|
||||
"/opt/homebrew/opt/trash/bin/"
|
||||
];
|
||||
|
||||
homebrew = {
|
||||
enable = true;
|
||||
|
@ -37,17 +37,16 @@
|
||||
# Set up screen position and rotation
|
||||
setupCommands = ''
|
||||
${pkgs.xorg.xrandr}/bin/xrandr --output DisplayPort-1 \
|
||||
--mode 1920x1200 \
|
||||
--pos 2560x0 \
|
||||
--rotate left \
|
||||
--output DisplayPort-0 \
|
||||
--primary \
|
||||
--mode 2560x1440 \
|
||||
--pos 0x560 \
|
||||
--rotate normal \
|
||||
--rate 120 \
|
||||
--mode 2560x1440 \
|
||||
--rate 165 \
|
||||
--output DisplayPort-2 \
|
||||
--right-of DisplayPort-1 \
|
||||
--rotate left \
|
||||
--output DVI-0 --off \
|
||||
--output DVI-1 --off \
|
||||
|| echo "xrandr failed"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
@ -8,6 +8,10 @@
|
||||
|
||||
config = lib.mkIf (config.physical && !config.server) {
|
||||
|
||||
# Use power button to sleep instead of poweroff
|
||||
services.logind.powerKey = "suspend";
|
||||
services.logind.powerKeyLongPress = "poweroff";
|
||||
|
||||
# Prevent wake from keyboard
|
||||
powerManagement.powerDownCommands = ''
|
||||
set +e
|
||||
|
@ -66,6 +66,9 @@
|
||||
# Configure Cloudflare DNS to point to this machine
|
||||
services.cloudflare-dyndns.domains = [ config.hostnames.budget ];
|
||||
|
||||
# Backups
|
||||
services.restic.backups.default.paths = [ "/var/lib/actualbudget" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -22,9 +22,9 @@
|
||||
description = "S3 access key ID for backups";
|
||||
default = null;
|
||||
};
|
||||
glacierBucket = lib.mkOption {
|
||||
resticBucket = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
description = "S3 bucket for glacier backups";
|
||||
description = "S3 bucket for restic backups";
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
@ -84,9 +84,9 @@
|
||||
dest = "${config.secretsDirectory}/restic";
|
||||
};
|
||||
|
||||
services.restic.backups = lib.mkIf (config.backup.s3.glacierBucket != null) {
|
||||
services.restic.backups = lib.mkIf (config.backup.s3.resticBucket != null) {
|
||||
default = {
|
||||
repository = "s3:s3.us-east-1.amazonaws.com/${config.backup.s3.glacierBucket}/restic";
|
||||
repository = "s3:s3.us-east-1.amazonaws.com/${config.backup.s3.resticBucket}/restic";
|
||||
paths = [ ];
|
||||
environmentFile = config.secrets.s3-glacier.dest;
|
||||
passwordFile = config.secrets.restic.dest;
|
||||
|
@ -57,5 +57,9 @@
|
||||
systemd.services.paperless-web.serviceConfig.UMask = lib.mkForce "0026";
|
||||
systemd.services.paperless-scheduler.serviceConfig.UMask = lib.mkForce "0026";
|
||||
systemd.services.paperless-task-queue.serviceConfig.UMask = lib.mkForce "0026";
|
||||
|
||||
# Backups
|
||||
services.restic.backups.default.paths = [ "/data/generic/paperless/documents" ];
|
||||
|
||||
};
|
||||
}
|
||||
|
@ -8,22 +8,14 @@
|
||||
|
||||
config = lib.mkIf pkgs.stdenv.isLinux {
|
||||
|
||||
services.tzupdate.enable = true;
|
||||
|
||||
# Service to determine location for time zone
|
||||
# This is required for redshift which depends on the location provider
|
||||
services.geoclue2.enable = true;
|
||||
services.geoclue2.enableWifi = false; # Breaks when it can't connect
|
||||
location = {
|
||||
provider = "geoclue2";
|
||||
};
|
||||
|
||||
# Enable local time based on time zone
|
||||
services.localtimed.enable = true;
|
||||
|
||||
# Required to get localtimed to talk to geoclue2
|
||||
services.geoclue2.appConfig.localtimed.isSystem = true;
|
||||
services.geoclue2.appConfig.localtimed.isAllowed = true;
|
||||
|
||||
# Fix "Failed to set timezone"
|
||||
# https://github.com/NixOS/nixpkgs/issues/68489#issuecomment-1484030107
|
||||
services.geoclue2.enableDemoAgent = lib.mkForce true;
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user