1 Commits

Author SHA1 Message Date
068cdbf5d4 try building mole for eblume
relates to #68
2024-06-26 16:24:35 -04:00
36 changed files with 274 additions and 540 deletions

View File

@ -19,14 +19,12 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: DeterminateSystems/nix-installer-action@v11 uses: DeterminateSystems/nix-installer-action@v11
with:
nix-package-url: https://releases.nixos.org/nix/nix-2.18.4/nix-2.18.4-x86_64-linux.tar.xz
- name: Check Nixpkgs Inputs - name: Check Nixpkgs Inputs
uses: DeterminateSystems/flake-checker-action@v7 uses: DeterminateSystems/flake-checker-action@v7
- name: Add Nix Cache - name: Add Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v6 uses: DeterminateSystems/magic-nix-cache-action@v6
- name: Update flake.lock - name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v23 uses: DeterminateSystems/update-flake-lock@v21
id: update id: update
with: with:
pr-title: "Update flake.lock" # Title of PR to be created pr-title: "Update flake.lock" # Title of PR to be created

193
flake.lock generated
View File

@ -3,11 +3,11 @@
"baleia-nvim-src": { "baleia-nvim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1721805312, "lastModified": 1717182435,
"narHash": "sha256-qA1x5kplP2I8bURO0I4R0gt/zeznu9hQQ+XHptLGuwc=", "narHash": "sha256-duI3myrJSvmtjF9n7NVrVOsuSo1O3JEypA5ghBHsULc=",
"owner": "m00qek", "owner": "m00qek",
"repo": "baleia.nvim", "repo": "baleia.nvim",
"rev": "1b25eac3ac03659c3d3af75c7455e179e5f197f7", "rev": "4d3b27dbec65a44ceecd9306f605a980bcf4e9b1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -87,11 +87,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722924007, "lastModified": 1718662658,
"narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=", "narHash": "sha256-AKG7BsqtVWDlefgzyKz7vjaKTLi4+bmTSBhowbQoZtM=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "91010a5613ffd7ee23ee9263213157a1c422b705", "rev": "29b3096a6e283d7e6779187244cb2a3942239fdf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -108,11 +108,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723080788, "lastModified": 1718846788,
"narHash": "sha256-C5LbM5VMdcolt9zHeLQ0bYMRjUL+N+AL5pK7/tVTdes=", "narHash": "sha256-9dtXYtEkmXoUJV+PGLqscqF7qTn4AIhAKpFWRFU2NYs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed", "rev": "e1174d991944a01eaaa04bc59c6281edca4c0e6e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -145,11 +145,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723337675, "lastModified": 1718930737,
"narHash": "sha256-JKEthOttE4K+qLicLEFBqHcy/LHPLEAJtcVNjzWG5aY=", "narHash": "sha256-+nKJ/VP6X+hirXqRry3GzdNn4OJvOdB4nRnJY22ixFw=",
"owner": "bandithedoge", "owner": "bandithedoge",
"repo": "nixpkgs-firefox-darwin", "repo": "nixpkgs-firefox-darwin",
"rev": "6ffec5acd449b5f2ab4b22c271ad1670a790a1e1", "rev": "087919070dffc9798a8cb753e97babe287f06c25",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -267,11 +267,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723015306, "lastModified": 1718983978,
"narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=", "narHash": "sha256-lp6stESwTLBZUQ5GBivxwNehShmBp4jqeX/1xahM61w=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e", "rev": "c559542f0aa87971a7f4c1b3478fe33cc904b902",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -291,11 +291,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719942949, "lastModified": 1718893255,
"narHash": "sha256-srSQac7dhXtisqu4XwPGrK8qcmT2rflJJ1mRIV9j0Qk=", "narHash": "sha256-NdSDGdz5eU/EcnGn8ECP1V+mn5hyGOZQ4ybv2bWTpuk=",
"owner": "hraban", "owner": "hraban",
"repo": "mac-app-util", "repo": "mac-app-util",
"rev": "63f269f737cafb2219ba38780c1ecb1dc24bc4a2", "rev": "1857b26aceaf64c2b6a357eb83cf34139b6365cc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -304,72 +304,55 @@
"type": "github" "type": "github"
} }
}, },
"markview-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1723341339,
"narHash": "sha256-/82M85uv63L/rCMTU/w1LRJgg1F5CYl7881Vq9UPDKo=",
"owner": "OXY2DEV",
"repo": "markview.nvim",
"rev": "c9fa1065098663c3bfe7e07656937c3d2f3dabea",
"type": "github"
},
"original": {
"owner": "OXY2DEV",
"repo": "markview.nvim",
"type": "github"
}
},
"nextcloud-cookbook": { "nextcloud-cookbook": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1719431638, "lastModified": 1702545935,
"narHash": "sha256-a8ekMnEzudHGiqHF53jPtgsVTOTc2QLuPg6YtTw5h68=", "narHash": "sha256-19LN1nYJJ0RMWj6DrYPvHzocTyhMfYdpdhBFch3fpHE=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.1/cookbook-0.11.1.tar.gz" "url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.0/cookbook-0.11.0.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.1/cookbook-0.11.1.tar.gz" "url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.0/cookbook-0.11.0.tar.gz"
} }
}, },
"nextcloud-external": { "nextcloud-external": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1710338675, "lastModified": 1699624334,
"narHash": "sha256-bJJ/dVmE1o04QCyrxD0sko0okRsnxJmT6sOTOmBiifs=", "narHash": "sha256-RCL2RP5twRDLxI/KfAX6QLYQOzqZmSWsfrC5ZQIwTD4=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.4.0/external-v5.4.0.tar.gz" "url": "https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.4.0/external-v5.4.0.tar.gz" "url": "https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz"
} }
}, },
"nextcloud-news": { "nextcloud-news": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1718102703, "lastModified": 1703426420,
"narHash": "sha256-XNGjf7SWgJYFdVNOh3ED0jxSG0GJwWImVQq4cJT1Lo4=", "narHash": "sha256-AENBJH/bEob5JQvw4WEi864mdLYJ5Mqe78HJH6ceCpI=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha7/news.tar.gz" "url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha3/news.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha7/news.tar.gz" "url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha3/news.tar.gz"
} }
}, },
"nextcloud-snappymail": { "nextcloud-snappymail": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723347706, "narHash": "sha256-7oJEJ6t6iS/pcnSHashf1AkOEf+gKizpQHBy9XwY4Yo=",
"narHash": "sha256-HlqO7xlMSRGgBtwi0t5oz5v7iw0zTSHysc9wGVRwGZI=", "type": "file",
"type": "tarball", "url": "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.1/snappymail-2.36.1-nextcloud.tar.gz"
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "file",
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz" "url": "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.1/snappymail-2.36.1-nextcloud.tar.gz"
} }
}, },
"nix2vim": { "nix2vim": {
@ -395,11 +378,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1722732880, "lastModified": 1712450863,
"narHash": "sha256-do2Mfm3T6SR7a5A804RhjQ+JTsF5hk4JTPGjCTRM/m8=", "narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "8bebd4c74f368aacb047f0141db09ec6b339733c", "rev": "3c62b6a12571c9a7f65ab037173ee153d539905f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -416,11 +399,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723078345, "lastModified": 1718025593,
"narHash": "sha256-HSxOQEKNZXiJe9aWnckTTCThOhcRCabwHa32IduDKLk=", "narHash": "sha256-WZ1gdKq/9u1Ns/oXuNsDm+W0salonVA0VY1amw8urJ4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "d6c5d29f58acc10ea82afff1de2b28f038f572bd", "rev": "35c20ba421dfa5059e20e0ef2343c875372bdcf3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -431,11 +414,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1723175592, "lastModified": 1718895438,
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", "narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", "rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -463,11 +446,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1723345421, "lastModified": 1719001822,
"narHash": "sha256-KJ/+Q43cumayNUUvz6VCImL6PcRYnLuupDnXg9mA+xo=", "narHash": "sha256-rbEP1CTzYvdSAKf1a729De9t8GMIrZ5GmD+PdYCnrgg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "638e850bd503b43214c8e39a838c625f011d9b10", "rev": "e7edcaeae9db01224266febe88eb7d3411055636",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -479,11 +462,11 @@
"nvim-lint-src": { "nvim-lint-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723296187, "lastModified": 1717789608,
"narHash": "sha256-PoCx65jQGEoKFyedNs1IoQFcsw7jd3kEbRyZE8mkSzA=", "narHash": "sha256-LNYFxAM9lQNNOIOc+IgKgbSRp2U09B/9HivSCwMyUpQ=",
"owner": "mfussenegger", "owner": "mfussenegger",
"repo": "nvim-lint", "repo": "nvim-lint",
"rev": "ad0fe35e80f5cd31a0f19176d7b30e5c3011119d", "rev": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -512,11 +495,11 @@
"nvim-tree-lua-src": { "nvim-tree-lua-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723256802, "lastModified": 1717900986,
"narHash": "sha256-flZphMVMQdwBrJJ+3F5v7WAtnrv1Uwq2UmA+cgGfuQA=", "narHash": "sha256-7KO3wPW65IH4m0jEoyFScNiAVwrlNHU+p0H55AuwlWk=",
"owner": "kyazdani42", "owner": "kyazdani42",
"repo": "nvim-tree.lua", "repo": "nvim-tree.lua",
"rev": "ad0b95dee55955817af635fa121f6e2486b10583", "rev": "2086e564c4d23fea714e8a6d63b881e551af2f41",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -528,11 +511,11 @@
"nvim-treesitter-src": { "nvim-treesitter-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723278970, "lastModified": 1718957498,
"narHash": "sha256-KF/5Ng0mzrZv/ghyAeEJWuyP0SwA5JKNJCg8Ozoob8g=", "narHash": "sha256-GEuKEAZxLGMkyjdJGzrIKNR1X10RHlACC6s1lNOq7aw=",
"owner": "nvim-treesitter", "owner": "nvim-treesitter",
"repo": "nvim-treesitter", "repo": "nvim-treesitter",
"rev": "8a966f32c973511f9697264b3533e9846d29fd09", "rev": "b967bbc27b564001c3d3b8ea93444cf6d0b21d23",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -587,7 +570,6 @@
"hmts-nvim-src": "hmts-nvim-src", "hmts-nvim-src": "hmts-nvim-src",
"home-manager": "home-manager", "home-manager": "home-manager",
"mac-app-util": "mac-app-util", "mac-app-util": "mac-app-util",
"markview-nvim-src": "markview-nvim-src",
"nextcloud-cookbook": "nextcloud-cookbook", "nextcloud-cookbook": "nextcloud-cookbook",
"nextcloud-external": "nextcloud-external", "nextcloud-external": "nextcloud-external",
"nextcloud-news": "nextcloud-news", "nextcloud-news": "nextcloud-news",
@ -603,11 +585,8 @@
"nvim-treesitter-src": "nvim-treesitter-src", "nvim-treesitter-src": "nvim-treesitter-src",
"ren": "ren", "ren": "ren",
"rep": "rep", "rep": "rep",
"snipe-nvim-src": "snipe-nvim-src",
"stu": "stu",
"telescope-nvim-src": "telescope-nvim-src", "telescope-nvim-src": "telescope-nvim-src",
"telescope-project-nvim-src": "telescope-project-nvim-src", "telescope-project-nvim-src": "telescope-project-nvim-src",
"tiny-inline-diagnostic-nvim-src": "tiny-inline-diagnostic-nvim-src",
"toggleterm-nvim-src": "toggleterm-nvim-src", "toggleterm-nvim-src": "toggleterm-nvim-src",
"tree-sitter-bash": "tree-sitter-bash", "tree-sitter-bash": "tree-sitter-bash",
"tree-sitter-ini": "tree-sitter-ini", "tree-sitter-ini": "tree-sitter-ini",
@ -621,38 +600,6 @@
"zenyd-mpv-scripts": "zenyd-mpv-scripts" "zenyd-mpv-scripts": "zenyd-mpv-scripts"
} }
}, },
"snipe-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1722790509,
"narHash": "sha256-DhJ2ss0p64mpaVo9rri72pEoaWbOOL05klM9AydnqJk=",
"owner": "leath-dub",
"repo": "snipe.nvim",
"rev": "854a47c970413405361487c13e2b1e9aa9a3696e",
"type": "github"
},
"original": {
"owner": "leath-dub",
"repo": "snipe.nvim",
"type": "github"
}
},
"stu": {
"flake": false,
"locked": {
"lastModified": 1721633982,
"narHash": "sha256-JLsUMZDXK89QmHLlGG9i5L+1e/redjk5ff6NiZdNsYo=",
"owner": "lusingander",
"repo": "stu",
"rev": "aefd555fb3e128d40f8bd80d37aa5c6e5d8bc011",
"type": "github"
},
"original": {
"owner": "lusingander",
"repo": "stu",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@ -731,22 +678,6 @@
"type": "github" "type": "github"
} }
}, },
"tiny-inline-diagnostic-nvim-src": {
"flake": false,
"locked": {
"lastModified": 1723294442,
"narHash": "sha256-Y2Suu8ISSKRvgVTEYo9Fl8+Z4d6ZjhtFGXjt0x2iw30=",
"owner": "rachartier",
"repo": "tiny-inline-diagnostic.nvim",
"rev": "7b212b214aed37d8ae1a26ac6ca9593223a23ddb",
"type": "github"
},
"original": {
"owner": "rachartier",
"repo": "tiny-inline-diagnostic.nvim",
"type": "github"
}
},
"toggleterm-nvim-src": { "toggleterm-nvim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -833,11 +764,11 @@
"tree-sitter-python": { "tree-sitter-python": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1721001135, "lastModified": 1714528221,
"narHash": "sha256-H6t98tuXJW2VD5Ay+rOfnp9p5ZljyPxvtIy60PycMUQ=", "narHash": "sha256-hHQ5gK4dTRSdp0fLKarytU9vFhsBeQp7Ka61vFoIr7Y=",
"owner": "tree-sitter", "owner": "tree-sitter",
"repo": "tree-sitter-python", "repo": "tree-sitter-python",
"rev": "0dee05ef958ba2eae88d1e65f24b33cad70d4367", "rev": "71778c2a472ed00a64abf4219544edbf8e4b86d7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -904,11 +835,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723124175, "lastModified": 1718710563,
"narHash": "sha256-w+rlZdbj4kn70uPJl4WrPDFoGEy0A9oJqw684nvZ9dY=", "narHash": "sha256-O4rrM0Bkh3IRe8D600iniQ52QTmlnuTSp2KyXV7C2jE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690", "rev": "2fb93bea657ad99a7005ef601c67cb2820560a41",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -127,18 +127,6 @@
url = "github:mfussenegger/nvim-lint"; url = "github:mfussenegger/nvim-lint";
flake = false; flake = false;
}; };
markview-nvim-src = {
url = "github:OXY2DEV/markview.nvim";
flake = false;
};
tiny-inline-diagnostic-nvim-src = {
url = "github:rachartier/tiny-inline-diagnostic.nvim";
flake = false;
};
snipe-nvim-src = {
url = "github:leath-dub/snipe.nvim";
flake = false;
};
# Tree-Sitter Grammars # Tree-Sitter Grammars
tree-sitter-bash = { tree-sitter-bash = {
@ -186,33 +174,26 @@
flake = false; flake = false;
}; };
# Stu - TUI for S3
stu = {
url = "github:lusingander/stu";
flake = false;
};
# Nextcloud Apps # Nextcloud Apps
nextcloud-news = { nextcloud-news = {
# https://github.com/nextcloud/news/releases # https://github.com/nextcloud/news/releases
url = "https://github.com/nextcloud/news/releases/download/25.0.0-alpha7/news.tar.gz"; url = "https://github.com/nextcloud/news/releases/download/25.0.0-alpha3/news.tar.gz";
flake = false; flake = false;
}; };
nextcloud-external = { nextcloud-external = {
# https://github.com/nextcloud-releases/external/releases # https://github.com/nextcloud-releases/external/releases
url = "https://github.com/nextcloud-releases/external/releases/download/v5.4.0/external-v5.4.0.tar.gz"; url = "https://github.com/nextcloud-releases/external/releases/download/v5.3.1/external-v5.3.1.tar.gz";
flake = false; flake = false;
}; };
nextcloud-cookbook = { nextcloud-cookbook = {
# https://github.com/christianlupus-nextcloud/cookbook-releases/releases/ # https://github.com/christianlupus-nextcloud/cookbook-releases/releases/
url = "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.1/cookbook-0.11.1.tar.gz"; url = "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.0/cookbook-0.11.0.tar.gz";
flake = false; flake = false;
}; };
nextcloud-snappymail = { nextcloud-snappymail = {
# https://github.com/the-djmaze/snappymail/releases # https://github.com/the-djmaze/snappymail/releases
# https://snappymail.eu/repository/nextcloud # https://snappymail.eu/repository/nextcloud
url = "https://snappymail.eu/repository/nextcloud/snappymail-2.36.4-nextcloud.tar.gz"; url = "file+https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.1/snappymail-2.36.1-nextcloud.tar.gz";
# url = "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.3/snappymail-2.36.3-nextcloud.tar.gz";
flake = false; flake = false;
}; };
}; };
@ -267,7 +248,6 @@
(import ./overlays/betterlockscreen.nix) (import ./overlays/betterlockscreen.nix)
(import ./overlays/gh-collaborators.nix) (import ./overlays/gh-collaborators.nix)
(import ./overlays/ren-rep.nix inputs) (import ./overlays/ren-rep.nix inputs)
(import ./overlays/stu.nix inputs)
]; ];
# System types to support. # System types to support.

View File

@ -34,6 +34,7 @@ inputs.darwin.lib.darwinSystem {
dark = true; dark = true;
}; };
mail.user = globals.user; mail.user = globals.user;
mole.enable = true;
atuin.enable = true; atuin.enable = true;
charm.enable = true; charm.enable = true;
neovim.enable = true; neovim.enable = true;
@ -53,7 +54,6 @@ inputs.darwin.lib.darwinSystem {
_1password.enable = true; _1password.enable = true;
slack.enable = true; slack.enable = true;
wezterm.enable = true; wezterm.enable = true;
yt-dlp.enable = true;
} }
]; ];
} }

View File

@ -118,7 +118,6 @@ inputs.nixpkgs.lib.nixosSystem {
dwarf-fortress.enable = true; dwarf-fortress.enable = true;
enable = true; enable = true;
steam.enable = true; steam.enable = true;
moonlight.enable = true;
legendary.enable = true; legendary.enable = true;
lutris.enable = true; lutris.enable = true;
ryujinx.enable = true; ryujinx.enable = true;

View File

@ -8,6 +8,7 @@
./firefox.nix ./firefox.nix
./kitty.nix ./kitty.nix
./media.nix ./media.nix
./mole.nix
./obsidian.nix ./obsidian.nix
./qbittorrent.nix ./qbittorrent.nix
./slack.nix ./slack.nix

View File

@ -34,13 +34,10 @@
programs.rofi.terminal = lib.mkIf pkgs.stdenv.isLinux (lib.mkDefault "${pkgs.kitty}/bin/kitty"); programs.rofi.terminal = lib.mkIf pkgs.stdenv.isLinux (lib.mkDefault "${pkgs.kitty}/bin/kitty");
# Display images in the terminal # Display images in the terminal
programs.fish.interactiveShellInit = # fish programs.fish.shellAliases = {
'' icat = "kitty +kitten icat";
if test "$TERM" = "xterm-kitty" ssh = "kitty +kitten ssh";
alias icat="kitty +kitten icat" };
alias ssh="kitty +kitten ssh"
end
'';
programs.kitty = { programs.kitty = {
enable = true; enable = true;

View File

@ -0,0 +1,110 @@
{
config,
pkgs,
lib,
...
}:
let
# Build kdl-py
kdl-py = pkgs.python311.pkgs.buildPythonPackage rec {
pname = "kdl-py";
version = "1.2.0";
pyproject = true;
src = pkgs.fetchPypi {
inherit pname version;
hash = "sha256-Y/P0bGJ33trc5E3PyUZyv25r8zMLkBIuATTCKFfimXM=";
};
build-system = [ pkgs.python311.pkgs.setuptools ];
# has no tests
doCheck = false;
};
mole = pkgs.python311.pkgs.buildPythonPackage rec {
pname = "mole";
version = "0.7.1";
pyproject = true;
src = pkgs.fetchFromGitHub {
owner = "eblume";
repo = pname;
rev = "30bb052a97050b1fa89c287855d834f7952b195a";
sha256 = "sha256-DUWsfyICCfFQ2ZQBYSQVoA3eLdKC8djUylKgGdHIyJo=";
};
patches = [
(builtins.toString (
pkgs.writeText "pyproject.toml.patch" ''
diff --git a/pyproject.toml b/pyproject.toml
index 12ce0f5..787e978 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -12,11 +12,11 @@ packages = [
[tool.poetry.dependencies]
python = "^3.11"
# Now back to the regular dependencies
-typer = {extras = ["all"], version = "^0.9"}
+typer = {extras = ["all"], version = "^0.12"}
todoist-api-python = "^2.1.3"
openai = "^1.2.4"
rich = "^13.4.2"
-watchdog = "^3.0.0"
+watchdog = "^4.0.0"
pydub = "^0.25.1"
requests = "^2.31.0"
pyyaml = "^6.0.1"
''
))
];
# Used during build time
nativeBuildInputs = [ pkgs.python311Packages.poetry-core ];
# Used during run time
buildInputs = [
pkgs._1password
pkgs.nb-cli
];
# Both build and run time
propagatedBuildInputs = [
pkgs.python311Packages.typer
pkgs.python311Packages.todoist-api-python
pkgs.python311Packages.openai
pkgs.python311Packages.rich
pkgs.python311Packages.watchdog
pkgs.python311Packages.pydub
pkgs.python311Packages.requests
pkgs.python311Packages.pyyaml
pkgs.python311Packages.pydantic
pkgs.python311Packages.pendulum
kdl-py
pkgs.ffmpeg
];
build-system = [ pkgs.python311.pkgs.setuptools ];
# has no tests
doCheck = false;
};
in
{
options = {
mole = {
enable = lib.mkEnableOption {
description = "Enable Mole.";
default = false;
};
};
};
config = lib.mkIf config.mole.enable {
home-manager.users.${config.user} = {
home.packages = [ mole ];
};
};
}

View File

@ -169,7 +169,7 @@
-- super-t open new tab in new dir -- super-t open new tab in new dir
{ {
key = 't', key = 't',
mods = ${if pkgs.stdenv.isDarwin then "'SUPER'" else "'ALT'"}, mods = 'SUPER',
action = wezterm.action.SpawnCommandInNewTab { action = wezterm.action.SpawnCommandInNewTab {
cwd = wezterm.home_dir, cwd = wezterm.home_dir,
}, },

View File

@ -6,7 +6,6 @@
plugins = [ plugins = [
pkgs.vimPlugins.bufferline-nvim pkgs.vimPlugins.bufferline-nvim
pkgs.vimPlugins.vim-bbye # Better closing of buffers pkgs.vimPlugins.vim-bbye # Better closing of buffers
pkgs.vimPlugins.snipe-nvim # Jump between open buffers
]; ];
setup.bufferline = { setup.bufferline = {
options = { options = {
@ -16,7 +15,6 @@
offsets = [ { filetype = "NvimTree"; } ]; offsets = [ { filetype = "NvimTree"; } ];
}; };
}; };
setup.snipe = { };
lua = '' lua = ''
-- Move buffers -- Move buffers
vim.keymap.set("n", "L", ":BufferLineCycleNext<CR>", { silent = true }) vim.keymap.set("n", "L", ":BufferLineCycleNext<CR>", { silent = true })
@ -24,7 +22,5 @@
-- Kill buffer -- Kill buffer
vim.keymap.set("n", "<Leader>x", " :Bdelete<CR>", { silent = true }) vim.keymap.set("n", "<Leader>x", " :Bdelete<CR>", { silent = true })
'';
-- Jump to buffer
vim.keymap.set("n", "gb", require("snipe").open_buffer_menu, { silent = true }) '';
} }

View File

@ -19,11 +19,9 @@
pkgs.vimPlugins.fidget-nvim pkgs.vimPlugins.fidget-nvim
pkgs.vimPlugins.nvim-lint pkgs.vimPlugins.nvim-lint
pkgs.vimPlugins.vim-table-mode pkgs.vimPlugins.vim-table-mode
pkgs.vimPlugins.tiny-inline-diagnostic-nvim
]; ];
setup.fidget = { }; setup.fidget = { };
setup.tiny-inline-diagnostic = { };
use.lspconfig.lua_ls.setup = dsl.callWith { use.lspconfig.lua_ls.setup = dsl.callWith {
settings = { settings = {
@ -73,9 +71,6 @@
files = { files = {
excludeDirs = [ ".direnv" ]; excludeDirs = [ ".direnv" ];
}; };
cargo = {
features = "all";
};
}; };
}; };
}; };
@ -138,9 +133,6 @@
-- Prevent infinite log size (change this when debugging) -- Prevent infinite log size (change this when debugging)
vim.lsp.set_log_level("off") vim.lsp.set_log_level("off")
-- Hide buffer diagnostics (use tiny-inline-diagnostic.nvim instead)
vim.diagnostic.config({ virtual_text = false })
''; '';
}; };
} }

View File

@ -10,7 +10,7 @@
pkgs.vimPlugins.vim-eunuch # File manipulation commands pkgs.vimPlugins.vim-eunuch # File manipulation commands
pkgs.vimPlugins.vim-fugitive # Git commands pkgs.vimPlugins.vim-fugitive # Git commands
pkgs.vimPlugins.vim-repeat # Better repeat using . pkgs.vimPlugins.vim-repeat # Better repeat using .
pkgs.vimPlugins.markview-nvim # Markdown preview pkgs.vimPlugins.glow-nvim # Markdown preview popup
pkgs.vimPlugins.nvim-colorizer-lua # Hex color previews pkgs.vimPlugins.nvim-colorizer-lua # Hex color previews
pkgs.vimPlugins.which-key-nvim # Keybind helper pkgs.vimPlugins.which-key-nvim # Keybind helper
]; ];
@ -21,7 +21,7 @@
names = false; names = false;
}; };
}; };
setup.markview = { }; setup.glow = { };
setup.which-key = { }; setup.which-key = { };
vim.o = { vim.o = {
@ -57,8 +57,8 @@
# Better backup, swap and undo storage # Better backup, swap and undo storage
vim.o.backup = true; # Easier to recover and more secure vim.o.backup = true; # Easier to recover and more secure
vim.opt.undofile = true; # Keeps undos after quit vim.bo.swapfile = false; # Instead of swaps, create backups
vim.opt.swapfile = false; # Instead of swaps, create backups vim.bo.undofile = true; # Keeps undos after quit
vim.o.backupdir = dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/backup//")''; vim.o.backupdir = dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/backup//")'';
vim.o.undodir = dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/undo//")''; vim.o.undodir = dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/undo//")'';

View File

@ -14,6 +14,11 @@
open_mapping = dsl.rawLua "[[<c-\\>]]"; open_mapping = dsl.rawLua "[[<c-\\>]]";
hide_numbers = true; hide_numbers = true;
direction = "float"; direction = "float";
float_opts = {
width = dsl.rawLua "vim.o.columns - 4";
height = dsl.rawLua "vim.o.lines - 4";
row = 0;
};
}; };
lua = '' lua = ''

View File

@ -6,15 +6,14 @@ BUCKET_NAME_PART_1="t2"
BUCKET_NAME_PART_2="global" BUCKET_NAME_PART_2="global"
BUCKET_NAME_PART_3="terraformstate" BUCKET_NAME_PART_3="terraformstate"
PROJECT_ROOT=$(git rev-parse --show-toplevel) WORKFLOW_FILE=".github/workflows/terraform.yml"
WORKFLOW_FILE="${PROJECT_ROOT}/.github/workflows/terraform.yml"
if [ ! -f "$WORKFLOW_FILE" ]; then if [ ! -f $WORKFLOW_FILE ]; then
WORKFLOW_FILE="${PROJECT_ROOT}/.github/workflows/apply.yml" WORKFLOW_FILE=".github/workflows/apply.yml"
fi fi
AWS_ACCOUNT_NUMBER=$( AWS_ACCOUNT_NUMBER=$(
awk '/aws_account_number: .*/ {print $2}' "$WORKFLOW_FILE" | # Grab account number awk '/aws_account_number: .*/ {print $2}' $WORKFLOW_FILE | # Grab account number
echo "$( echo "$(
read -r s read -r s
s=${s//\'/} s=${s//\'/}
@ -24,7 +23,7 @@ AWS_ACCOUNT_NUMBER=$(
if [ -z "${AWS_ACCOUNT_NUMBER}" ]; then if [ -z "${AWS_ACCOUNT_NUMBER}" ]; then
AWS_ACCOUNT_NUMBER=$( AWS_ACCOUNT_NUMBER=$(
awk '/AWS_ACCOUNT_NUMBER: .*/ {print $2}' "$WORKFLOW_FILE" | # Grab account number awk '/AWS_ACCOUNT_NUMBER: .*/ {print $2}' $WORKFLOW_FILE | # Grab account number
echo "$( echo "$(
read -r s read -r s
s=${s//\'/} s=${s//\'/}

View File

@ -106,6 +106,7 @@
"${pkgs.discord}/Applications/Discord.app" "${pkgs.discord}/Applications/Discord.app"
"${pkgs.obsidian}/Applications/Obsidian.app" "${pkgs.obsidian}/Applications/Obsidian.app"
"${pkgs.wezterm}/Applications/WezTerm.app" "${pkgs.wezterm}/Applications/WezTerm.app"
"/System/Applications/System Settings.app"
]; ];
}; };

View File

@ -14,9 +14,6 @@
# shell = pkgs.fish; # Default shell # shell = pkgs.fish; # Default shell
}; };
# This might fix the shell issues
# users.knownUsers = [ config.user ];
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
# Default shell setting doesn't work # Default shell setting doesn't work

View File

@ -19,6 +19,7 @@
pkgs.visidata # CSV inspector pkgs.visidata # CSV inspector
pkgs.dos2unix # Convert Windows text files pkgs.dos2unix # Convert Windows text files
pkgs.inetutils # Includes telnet pkgs.inetutils # Includes telnet
pkgs.youtube-dl # Convert web videos
pkgs.pandoc # Convert text documents pkgs.pandoc # Convert text documents
pkgs.mpd # TUI slideshows pkgs.mpd # TUI slideshows
pkgs.mpv # Video player pkgs.mpv # Video player
@ -26,14 +27,12 @@
pkgs.awscli2 pkgs.awscli2
pkgs.ssm-session-manager-plugin pkgs.ssm-session-manager-plugin
pkgs.awslogs pkgs.awslogs
pkgs.stu # TUI for AWS S3
pkgs.google-cloud-sdk pkgs.google-cloud-sdk
pkgs.vault-bin pkgs.vault-bin
pkgs.consul pkgs.consul
pkgs.noti # Create notifications programmatically pkgs.noti # Create notifications programmatically
pkgs.ipcalc # Make IP network calculations pkgs.ipcalc # Make IP network calculations
pkgs.teams pkgs.teams
pkgs.cloudflared # Allow connecting to Cloudflare tunnels
(pkgs.writeShellApplication { (pkgs.writeShellApplication {
name = "ocr"; name = "ocr";
runtimeInputs = [ pkgs.tesseract ]; runtimeInputs = [ pkgs.tesseract ];

View File

@ -1,37 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
calendar = {
enable = lib.mkEnableOption {
description = "Enable calendar.";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.calendar.enable) {
home-manager.users.${config.user} = {
accounts.calendar.accounts.default = {
basePath = "other/calendars"; # Where to save calendars in ~ directory
name = "personal";
local.type = "filesystem";
primary = true;
remote = {
passwordCommand = [ "" ];
type = "caldav";
url = "https://${config.hostnames.content}/remote.php/dav/principals/users/${config.user}";
userName = config.user;
};
};
home.packages = with pkgs; [ gnome-calendar ];
};
};
}

View File

@ -2,7 +2,6 @@
{ {
imports = [ imports = [
./calendar.nix
./calibre.nix ./calibre.nix
./nautilus.nix ./nautilus.nix
]; ];

View File

@ -20,7 +20,7 @@
# Quick preview with spacebar # Quick preview with spacebar
services.gnome.sushi.enable = true; services.gnome.sushi.enable = true;
environment.systemPackages = [ pkgs.nautilus ]; environment.systemPackages = [ pkgs.gnome.nautilus ];
home-manager.users.${config.user} = { home-manager.users.${config.user} = {
@ -28,13 +28,13 @@
xsession.windowManager.i3.config.keybindings = { xsession.windowManager.i3.config.keybindings = {
"${ "${
config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier config.home-manager.users.${config.user}.xsession.windowManager.i3.config.modifier
}+n" = "exec --no-startup-id ${pkgs.nautilus}/bin/nautilus"; }+n" = "exec --no-startup-id ${pkgs.gnome.nautilus}/bin/nautilus";
}; };
# Generates a QR code and previews it with sushi # Generates a QR code and previews it with sushi
programs.fish.functions = { programs.fish.functions = {
qr = { qr = {
body = "${pkgs.qrencode}/bin/qrencode $argv[1] -o /tmp/qr.png | ${pkgs.sushi}/bin/sushi /tmp/qr.png"; body = "${pkgs.qrencode}/bin/qrencode $argv[1] -o /tmp/qr.png | ${pkgs.gnome.sushi}/bin/sushi /tmp/qr.png";
}; };
}; };

View File

@ -12,7 +12,6 @@
./legendary.nix ./legendary.nix
./lutris.nix ./lutris.nix
./minecraft-server.nix ./minecraft-server.nix
./moonlight.nix
./ryujinx.nix ./ryujinx.nix
./steam.nix ./steam.nix
]; ];

View File

@ -1,14 +0,0 @@
{
config,
pkgs,
lib,
...
}:
{
options.gaming.moonlight.enable = lib.mkEnableOption "Enable Moonlight game streaming client.";
config = lib.mkIf config.gaming.moonlight.enable {
environment.systemPackages = with pkgs; [ moonlight-qt ];
};
}

View File

@ -42,7 +42,7 @@
module-margin = 1; module-margin = 1;
modules-left = "i3"; modules-left = "i3";
modules-center = "xwindow"; modules-center = "xwindow";
modules-right = "mailcount network pulseaudio date power"; modules-right = "mailcount network pulseaudio date keyboard power";
cursor-click = "pointer"; cursor-click = "pointer";
cursor-scroll = "ns-resize"; cursor-scroll = "ns-resize";
enable-ipc = true; enable-ipc = true;
@ -209,6 +209,12 @@
label-foreground = config.theme.colors.base06; label-foreground = config.theme.colors.base06;
# format-background = colors.background; # format-background = colors.background;
}; };
"module/keyboard" = {
type = "custom/text";
content = "󰌌";
click-left = "doas systemctl restart keyd";
content-foreground = config.theme.colors.base04;
};
"module/power" = { "module/power" = {
type = "custom/text"; type = "custom/text";
content = " "; content = " ";

View File

@ -36,6 +36,8 @@ in
{ {
config = lib.mkIf (pkgs.stdenv.isLinux && config.gui.enable) { config = lib.mkIf (pkgs.stdenv.isLinux && config.gui.enable) {
sound.enable = true;
# Enable PipeWire # Enable PipeWire
services.pipewire = { services.pipewire = {
enable = true; enable = true;

View File

@ -1,4 +1,9 @@
{ config, lib, ... }: {
config,
pkgs,
lib,
...
}:
{ {
config = lib.mkIf config.physical { config = lib.mkIf config.physical {
@ -12,29 +17,23 @@
autoRepeatInterval = 40; autoRepeatInterval = 40;
}; };
# Swap Caps-Lock with Escape when pressed or LCtrl when held/combined with others # Use capslock as escape and/or control
# Inspired by: https://www.youtube.com/watch?v=XuQVbZ0wENE services.keyd = {
services.kanata = {
enable = true; enable = true;
keyboards.default = { keyboards = {
devices = [ default = {
"/dev/input/by-id/usb-Logitech_Logitech_G710_Keyboard-event-kbd" ids = [ "*" ];
"/dev/input/by-id/usb-Logitech_Logitech_G710_Keyboard-if01-event-kbd" settings = {
]; main = {
extraDefCfg = "process-unmapped-keys yes"; capslock = "overload(control, esc)";
config = ''
(defsrc
caps
)
(defalias
escctrl (tap-hold-press 1000 1000 esc lctrl)
)
(deflayer base
@escctrl
)
'';
}; };
}; };
};
};
};
# For some reason, keyd doesn't restart properly when updating
system.activationScripts.keyd.text = "${pkgs.systemd}/bin/systemctl restart keyd.service";
# Enable num lock on login # Enable num lock on login
home-manager.users.${config.user}.xsession.numlock.enable = true; home-manager.users.${config.user}.xsession.numlock.enable = true;

View File

@ -21,15 +21,5 @@
accelProfile = "flat"; accelProfile = "flat";
accelSpeed = "1.15"; accelSpeed = "1.15";
}; };
# Cursor
home-manager.users.${config.user}.home.pointerCursor = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 24;
gtk.enable = true;
x11.enable = true;
};
}; };
} }

View File

@ -58,26 +58,7 @@
} }
]; ];
services.caddy = services.caddy = {
let
default_logger_name = "other";
roll_size_mb = 10;
# Extract list of hostnames (fqdns) from current caddy routes
getHostnameFromMatch = match: if (lib.hasAttr "host" match) then match.host else [ ];
getHostnameFromRoute =
route:
if (lib.hasAttr "match" route) then (lib.concatMap getHostnameFromMatch route.match) else [ ];
hostnames_non_unique = lib.concatMap getHostnameFromRoute config.caddy.routes;
hostnames = lib.unique hostnames_non_unique;
# Create attrset of subdomains to their fqdns
hostname_map = builtins.listToAttrs (
map (hostname: {
name = builtins.head (lib.splitString "." hostname);
value = hostname;
}) hostnames
);
in
{
adapter = "''"; # Required to enable JSON adapter = "''"; # Required to enable JSON
configFile = pkgs.writeText "Caddyfile" ( configFile = pkgs.writeText "Caddyfile" (
builtins.toJSON { builtins.toJSON {
@ -88,110 +69,30 @@
routes = config.caddy.routes; routes = config.caddy.routes;
errors.routes = config.caddy.blocks; errors.routes = config.caddy.blocks;
# Uncommenting collects access logs logs = { }; # Uncommenting collects access logs
logs = {
inherit default_logger_name;
# Invert hostnames keys and values
logger_names = lib.mapAttrs' (name: value: {
name = value;
value = name;
}) hostname_map;
};
}; };
apps.http.servers.metrics = { }; # Enables Prometheus metrics apps.http.servers.metrics = { }; # Enables Prometheus metrics
apps.tls.automation.policies = config.caddy.tlsPolicies; apps.tls.automation.policies = config.caddy.tlsPolicies;
# Setup logging to journal and files # Setup logging to file
logging.logs = logging.logs.main = {
{ encoder = {
# System logs and catch-all format = "console";
# Must be called `default` to override Caddy's built-in default logger };
default = { writer = {
output = "file";
filename = "${config.services.caddy.logDir}/caddy.log";
roll = true;
roll_size_mb = 1;
};
level = "INFO"; level = "INFO";
encoder.format = "console";
writer = {
output = "stderr";
}; };
exclude = map (hostname: "http.log.access.${hostname}") (builtins.attrNames hostname_map);
};
# This is for the default access logs (anything not captured by hostname)
other = {
level = "INFO";
encoder.format = "json";
writer = {
output = "file";
filename = "${config.services.caddy.logDir}/other.log";
roll = true;
inherit roll_size_mb;
};
include = [ "http.log.access.${default_logger_name}" ];
};
# This is for using the Caddy API, which will probably never happen
admin = {
level = "INFO";
encoder.format = "json";
writer = {
output = "file";
filename = "${config.services.caddy.logDir}/admin.log";
roll = true;
inherit roll_size_mb;
};
include = [ "admin.api" ];
};
# This is for debugging
debug = {
level = "DEBUG";
encoder.format = "console";
writer = {
output = "file";
filename = "${config.services.caddy.logDir}/debug.log";
roll = true;
roll_keep = 1;
inherit roll_size_mb;
};
};
}
# These are the access logs for individual hostnames
// (lib.mapAttrs (name: value: {
level = "INFO";
encoder.format = "json";
writer = {
output = "file";
filename = "${config.services.caddy.logDir}/${name}-access.log";
roll = true;
inherit roll_size_mb;
};
include = [ "http.log.access.${name}" ];
}) hostname_map)
# We also capture just the errors separately for easy debugging
// (lib.mapAttrs' (name: value: {
name = "${name}-error";
value = {
level = "ERROR";
encoder.format = "json";
writer = {
output = "file";
filename = "${config.services.caddy.logDir}/${name}-error.log";
roll = true;
inherit roll_size_mb;
};
include = [ "http.log.access.${name}" ];
};
}) hostname_map);
} }
); );
}; };
systemd.services.caddy.serviceConfig = {
# Allows Caddy to serve lower ports (443, 80) # Allows Caddy to serve lower ports (443, 80)
AmbientCapabilities = "CAP_NET_BIND_SERVICE"; systemd.services.caddy.serviceConfig.AmbientCapabilities = "CAP_NET_BIND_SERVICE";
# Prevent flooding of logs by rate-limiting
LogRateLimitIntervalSec = "5s"; # Limit period
LogRateLimitBurst = 100; # Limit threshold
};
# Required for web traffic to reach this machine # Required for web traffic to reach this machine
networking.firewall.allowedTCPPorts = [ networking.firewall.allowedTCPPorts = [

View File

@ -78,8 +78,6 @@ in
issuers = [ issuers = [
{ {
module = "acme"; module = "acme";
email = "acme@${config.mail.server}";
account_key = "{env.ACME_ACCOUNT_KEY}";
challenges = { challenges = {
dns = { dns = {
provider = { provider = {
@ -94,18 +92,7 @@ in
} }
]; ];
# Allow Caddy to read Cloudflare API key for DNS validation # Allow Caddy to read Cloudflare API key for DNS validation
systemd.services.caddy.serviceConfig.EnvironmentFile = [ systemd.services.caddy.serviceConfig.EnvironmentFile = config.secrets.cloudflare-api.dest;
config.secrets.cloudflare-api.dest
config.secrets.letsencrypt-key.dest
];
# Private key is used for LetsEncrypt
secrets.letsencrypt-key = {
source = ../../../private/letsencrypt-key.age;
dest = "${config.secretsDirectory}/letsencrypt-key";
owner = "caddy";
group = "caddy";
};
# API key must have access to modify Cloudflare DNS records # API key must have access to modify Cloudflare DNS records
secrets.cloudflare-api = { secrets.cloudflare-api = {
@ -117,14 +104,8 @@ in
# Wait for secret to exist # Wait for secret to exist
systemd.services.caddy = { systemd.services.caddy = {
after = [ after = [ "cloudflare-api-secret.service" ];
"cloudflare-api-secret.service" requires = [ "cloudflare-api-secret.service" ];
"letsencrypt-key-secret.service"
];
requires = [
"cloudflare-api-secret.service"
"letsencrypt-key-secret.service"
];
}; };
# Allows Nextcloud to trust Cloudflare IPs # Allows Nextcloud to trust Cloudflare IPs
@ -135,9 +116,6 @@ in
[ "127.0.0.1" ] ++ cloudflareIpRanges [ "127.0.0.1" ] ++ cloudflareIpRanges
); );
# Using dyn-dns instead of ddclient because I can't find a way to choose
# between proxied and non-proxied records for Cloudflare using just
# ddclient.
services.cloudflare-dyndns = services.cloudflare-dyndns =
lib.mkIf ((builtins.length config.services.cloudflare-dyndns.domains) > 0) lib.mkIf ((builtins.length config.services.cloudflare-dyndns.domains) > 0)
{ {

View File

@ -885,28 +885,6 @@ in
} }
]; ];
} }
{
matcher = {
id = "byName";
options = "localhost:8086";
};
properties = [
{
id = "displayName";
value = "InfluxDB";
}
{
id = "links";
value = [
{
targetBlank = true;
title = "";
url = "https://${config.hostnames.influxdb}";
}
];
}
];
}
{ {
matcher = { matcher = {
id = "byName"; id = "byName";
@ -951,28 +929,6 @@ in
} }
]; ];
} }
{
matcher = {
id = "byName";
options = "localhost:9000";
};
properties = [
{
id = "displayName";
value = "The Lounge";
}
{
id = "links";
value = [
{
targetBlank = true;
title = "";
url = "https://${config.hostnames.irc}";
}
];
}
];
}
{ {
matcher = { matcher = {
id = "byName"; id = "byName";
@ -2365,7 +2321,7 @@ in
datasourceUid = promUid; datasourceUid = promUid;
model = { model = {
editorMode = "code"; editorMode = "code";
expr = ''systemd_unit_state{name=~"cloudflared-tunnel-.*", state="active", job!="tempest"}''; expr = ''systemd_unit_state{name=~"cloudflared-tunnel-.*", state="active"}'';
hide = false; hide = false;
instant = true; instant = true;
intervalMs = 1000; intervalMs = 1000;
@ -2462,7 +2418,7 @@ in
execErrState = "Error"; execErrState = "Error";
for = "5m"; for = "5m";
annotations = { annotations = {
description = "Cloudflare Tunnel for {{ index $labels \"job\" }}."; description = "Cloudflare Tunnel for {{ $job }}.";
summary = "Cloudflare Tunnel is down."; summary = "Cloudflare Tunnel is down.";
}; };
isPaused = false; isPaused = false;

View File

@ -26,8 +26,6 @@
trusted_domains = [ config.hostnames.content ]; trusted_domains = [ config.hostnames.content ];
trusted_proxies = [ "127.0.0.1" ]; trusted_proxies = [ "127.0.0.1" ];
maintenance_window_start = 4; # Run jobs at 4am UTC maintenance_window_start = 4; # Run jobs at 4am UTC
log_type = "file";
loglevel = 1; # Include all actions in the log
}; };
extraAppsEnable = true; extraAppsEnable = true;
extraApps = { extraApps = {

View File

@ -38,10 +38,6 @@ in
config = { config = {
services.victoriametrics.extraOptions = [
"-promscrape.config=${(pkgs.formats.yaml { }).generate "scrape.yml" prometheusConfig}"
];
systemd.services.vmauth = lib.mkIf config.services.victoriametrics.enable { systemd.services.vmauth = lib.mkIf config.services.victoriametrics.enable {
description = "VictoriaMetrics basic auth proxy"; description = "VictoriaMetrics basic auth proxy";
after = [ "network.target" ]; after = [ "network.target" ];

View File

@ -4,10 +4,7 @@
# How long to keep journalctl entries # How long to keep journalctl entries
# This helps to make sure log disk usage doesn't grow too unwieldy # This helps to make sure log disk usage doesn't grow too unwieldy
services.journald.extraConfig = '' services.journald.extraConfig = ''
SystemMaxUse=4G SystemMaxUse=100M
SystemKeepFree=10G
SystemMaxFileSize=128M
SystemMaxFiles=500
MaxFileSec=1month MaxFileSec=1month
MaxRetentionSec=2month MaxRetentionSec=2month
''; '';

View File

@ -38,8 +38,5 @@ in
base16-nvim = plugin "base16-nvim" inputs.base16-nvim-src; base16-nvim = plugin "base16-nvim" inputs.base16-nvim-src;
baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src; baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src;
hmts-nvim = plugin "hmts-nvim" inputs.hmts-nvim-src; hmts-nvim = plugin "hmts-nvim" inputs.hmts-nvim-src;
markview-nvim = plugin "markview-nvim" inputs.markview-nvim-src;
tiny-inline-diagnostic-nvim = plugin "tiny-inline-diagnostic-nvim" inputs.tiny-inline-diagnostic-nvim-src;
snipe-nvim = plugin "snipe-nvim" inputs.snipe-nvim-src;
}; };
} }

View File

@ -1,17 +0,0 @@
inputs: _final: prev: {
stu = prev.rustPlatform.buildRustPackage {
pname = "stu";
version = "0.5.0";
src = inputs.stu;
cargoHash = "sha256-gUolS7HXkTddxDWDGir4YC+2tJjgB/CCQC49SSRaR6U=";
buildInputs =
if prev.stdenv.isDarwin then
[
prev.darwin.apple_sdk.frameworks.CoreGraphics
prev.darwin.apple_sdk.frameworks.AppKit
]
else
[ ];
};
}

View File

@ -1,21 +0,0 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBCc2hS
RUw4Y200allVODI0QTYxdXlHSHRiS1pWWHg5SW9tZ0tGVmc2ajJZCitXeEd0dk9K
MmRkZlRYd253RWFzNXpUR0xuTXI2dWVhNFZpQnNlU0VFdEUKLT4gc3NoLWVkMjU1
MTkgWXlTVU1RIHNScVkwd1RmVGhNcFVSRTlxQzlvSUc2cGxNWUc0YVJ5RjRydk9J
RG1peDQKVU5iN1ZmWEJyOXBiNWdiRFlnNFFKR09vaFB4SWZWK0x3VWJwMDZtYlBj
MAotPiBzc2gtZWQyNTUxOSBuanZYNUEgSXR5OEk5cWZHUEZ3WmFCUTVFeTBnTG5h
cmNxVWFLV2JhUTRBaUJGWERncwpYMFBIN0kySXdjOE5YcS85bXRCRnRsK3NyMHY4
N0JKelFyeHB6T1dEZ2VnCi0+IHNzaC1lZDI1NTE5IENxSU9VQSAyQVJYRXJ1cFVl
dldaa0Qydlc3MzlFYnN5YUx0amdWZm5PcWovRm1MaVg0CkJsSFZRdGJIZzA1T0Ny
bUNnL0Zxa05ubHluSVBUenVCZTZpYlA5UUFEMDQKLT4gc3NoLWVkMjU1MTkgejFP
Y1p3IDFPQU5HZm5mRFl5NnNLVHUvdUlmTEtyS0djNWZaMWg5VDl1ZldNTkVWbXMK
RkVBTzNUa0d6c3NJUHQrazdKWXNZY3NIRzRndGdRNjFjMXZCSEhIQnIyYwotLS0g
VzNOa3dXS0hrMWxNUlJ4UzAxNlkzSXM4RWc1RGFzQjFyb1dGZXFnL3RCVQoq002V
S5MQqBjKKOacO4OWgn5KpmU2D7zJWJjNMxH80L6HFNoyOj4wNa+8TA0Q7MTn3bKN
YvAuwbDAGjjDt8vZFKOiZB0xAex+H7A1MVvuGIA8xQa6iNBMwj7nWTLif5pCbVk+
9aAAprcJVDJx4TeFXlNF6XtcQ3J8abwi6TDqNFpfwwBb/wruyzutgvlOiz1XSBX0
xlCGckq/BCnItLURIb7zhqRMqk/JODPjOKArmP86nCq25Wm+W5JQ8ViQ7LHJyoFj
zbiwabqeBJZgqoVdVMj8Glz+91RVodn6f9VwQcHINgHxmkd6j2z75AmWZecwD2ic
pUMnikqIMI0B3zW5H38t2cJv+aIMTl7lH5Hf1P5jEn3NPw==
-----END AGE ENCRYPTED FILE-----