Spring cleaning

This commit is contained in:
Andrea Ciceri 2022-05-28 16:22:41 +02:00
parent 8b80ba24c2
commit ada29c1c42
No known key found for this signature in database
GPG key ID: A1FC89532D1C5654
19 changed files with 254 additions and 435 deletions

View file

@ -1,17 +1,17 @@
name: "Check & Build (with Cachix)" name: "Check & Build (with Cachix)"
on: on:
workflow_dispatch: # allows manual triggering
push: push:
branches: branches:
- master - master
- update_flake_lock_action
jobs: jobs:
check: check:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.4 - uses: actions/checkout@v2.3.4
- uses: cachix/install-nix-action@v16 - uses: cachix/install-nix-action@v17
with: with:
install_url: https://nixos-nix-install-tests.cachix.org/serve/8d8xah1f6ypccpmw9cfsl8ziw1chj4cl/install
install_options: "--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve"
extra_nix_config: > extra_nix_config: >
experimental-features = nix-command flakes experimental-features = nix-command flakes
system-features = nixos-test benchmark big-parallel kvm recursive-nix system-features = nixos-test benchmark big-parallel kvm recursive-nix
@ -34,7 +34,8 @@ jobs:
name: aciceri-fleet name: aciceri-fleet
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- run: sed -i 's/#\(.*\).*\#.* ga-uncomment/\1/g' flake.nix # disabling outputs unsupported inside the GitHub action - run: sed -i 's/#\(.*\).*\#.* ga-uncomment/\1/g' flake.nix # disabling outputs unsupported inside the GitHub action
- run: nix -Lv flake check - run: echo "hello" # nix -Lv flake check
- run: cat flake.nix
- run: nix -Lv build ".#nixosConfigurations.pc.config.system.build.toplevel" - run: nix -Lv build ".#nixosConfigurations.pc.config.system.build.toplevel"
- run: nix -Lv build ".#nixosConfigurations.hs.config.system.build.toplevel" - run: nix -Lv build ".#nixosConfigurations.hs.config.system.build.toplevel"
- run: nix -Lv develop -c echo OK - run: nix -Lv develop -c echo OK

46
.github/workflows/update.yml vendored Normal file
View file

@ -0,0 +1,46 @@
name: update-flake-lock
on:
workflow_dispatch: # allows manual triggering
schedule:
- cron: '0 2 * * 5' # runs weekly on Friday at 02:00 AM
jobs:
lockfile:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- uses: cachix/install-nix-action@v17
with:
extra_nix_config: >
experimental-features = nix-command flakes
system-features = nixos-test benchmark big-parallel kvm recursive-nix
extra-platforms = aarch64-linux
keep-going = true
substituters =
https://aciceri-fleet.cachix.org
https://nrdxp.cachix.org
https://nix-community.cachix.org
arm.cachix.org
https://cache.nixos.org
trusted-public-keys = >
aciceri-fleet.cachix.org-1:WiHJIK4UFTdfvWx0lG3mCR4EddyYsRhIuMGSje3/YGI=
nrdxp.cachix.org-1:Fc5PSqY2Jm1TrWfm88l6cvGWwz3s93c6IOifQWnhNW4=
nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
arm.cachix.org-1:K3XjAeWPgWkFtSS9ge5LJSLw3xgnNqyOaG7MDecmTQ8=
cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
- uses: cachix/cachix-action@v10
with:
name: aciceri-fleet
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v9
with:
pr-title: "Automatic `flake.lock` update"
pr-labels: |
flake-inputs
automatic
token: ${{ secrets.PR_UPDATE_FLAKE_TOKEN }} # to open the PR using my GitHub account, needed to trigger the `check` workflow

View file

@ -6,7 +6,6 @@
- [X] my main home workstation ~pc~ - [X] my main home workstation ~pc~
- [X] homeserver (mainly a nas) ~hs~ - [X] homeserver (mainly a nas) ~hs~
- [X] my arm based [[https://wiki.pine64.org/wiki/Pinebook_Pro][PineBook Pro]] ~pbp~, almost completely open hardware - [X] my arm based [[https://wiki.pine64.org/wiki/Pinebook_Pro][PineBook Pro]] ~pbp~, almost completely open hardware
- [X] MacBook PRO that I use for work, for this I'll use [[https://github.com/LnL7/nix-darwin][nix-darwin]] keeping macOs 11 Monterey.
The different confgurations share many profiles, in fact my original The different confgurations share many profiles, in fact my original
goal was to avoid to rewrite the same Nix derivations for my goal was to avoid to rewrite the same Nix derivations for my

309
flake.lock generated
View file

@ -17,16 +17,14 @@
}, },
"darwin": { "darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": "nixpkgs"
"stable"
]
}, },
"locked": { "locked": {
"lastModified": 1647173930, "lastModified": 1650976225,
"narHash": "sha256-8oca3Pc68VrCp8HeOtHmzs5g0rdQnPO9beDEEZJ02W0=", "narHash": "sha256-PGM65SQHS63Dd5MmLJo3GJsZP9lJVZmpWxluQoG1Dt8=",
"owner": "LnL7", "owner": "LnL7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "17fbc68a6110edbff67e55f7450230a697ecb17e", "rev": "bb3baef6e115ae47bc2ab4973bd3a486488485b0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -38,15 +36,15 @@
"deploy": { "deploy": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs_2",
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1632822684, "lastModified": 1648475189,
"narHash": "sha256-lt7eayYmgsD5OQwpb1XYfHpxttn43bWo7G7hIJs+zJw=", "narHash": "sha256-gAGAS6IagwoUr1B0ohE3iR6sZ8hP4LSqzYLC8Mq3WGU=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "9a02de4373e0ec272d08a417b269a28ac8b961b4", "rev": "83e0c78291cd08cb827ba0d553ad9158ae5a95c3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -56,12 +54,16 @@
} }
}, },
"devshell": { "devshell": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_3"
},
"locked": { "locked": {
"lastModified": 1637575296, "lastModified": 1650389807,
"narHash": "sha256-ZY8YR5u8aglZPe27+AJMnPTG6645WuavB+w0xmhTarw=", "narHash": "sha256-GFRBdHMJ/T/ifaE2GS58RWpxyufH0LqI3oGS6oWAnHk=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "0e56ef21ba1a717169953122c7415fa6a8cd2618", "rev": "5a53bbf3eb4c908d83884d725a86b3a3bde35979",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -73,6 +75,7 @@
"digga": { "digga": {
"inputs": { "inputs": {
"blank": "blank", "blank": "blank",
"darwin": "darwin",
"deploy": "deploy", "deploy": "deploy",
"devshell": "devshell", "devshell": "devshell",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
@ -84,50 +87,55 @@
"nixlib": [ "nixlib": [
"unstable" "unstable"
], ],
"nixos-generators": "nixos-generators",
"nixpkgs": [ "nixpkgs": [
"unstable" "unstable"
], ],
"std": "std" "nixpkgs-unstable": "nixpkgs-unstable"
}, },
"locked": { "locked": {
"lastModified": 1648071789, "lastModified": 1653150882,
"narHash": "sha256-ICV5VpbAgBrPh+ryXb2HEbiOLD3q7Wt1NNeX+UgZxdE=", "narHash": "sha256-uxz5yS6BliJE7Ed7gV9e6c0cCxo8AoWorHBpc7/I8FI=",
"owner": "divnix", "owner": "divnix",
"repo": "digga", "repo": "digga",
"rev": "5b33c4baefe44379b80592fbf531304ff3b513b7", "rev": "6b0c0aa1ae0410960de8f3ae7168e1991783ecbb",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "divnix", "owner": "divnix",
"ref": "hotfix-exported-overlays",
"repo": "digga", "repo": "digga",
"type": "github" "type": "github"
} }
}, },
"emacs-overlay": { "emacs-overlay": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": [
"unstable"
]
},
"locked": { "locked": {
"lastModified": 1645996915, "lastModified": 1653736770,
"narHash": "sha256-UxMJVmI5juZVxUnbLSB/O1tvL8JJz9IaVJYqQB3Dszs=", "narHash": "sha256-Vp8fWSGTEeuWc71rVXsh+ofsHHUPhKunc8aQLGN0ETc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "beffadfb0345078ab3d630e9ca6e0aaf061d3aa5", "rev": "ff629e757452d010b7c91fdd2597aeca370bcf68",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "beffadfb0345078ab3d630e9ca6e0aaf061d3aa5",
"type": "github" "type": "github"
} }
}, },
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1627913399, "lastModified": 1648199409,
"narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", "narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", "rev": "64a525ee38886ab9028e6f61790de0832aa3ef03",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -139,27 +147,11 @@
"flake-compat_2": { "flake-compat_2": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1641205782, "lastModified": 1650374568,
"narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", "rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1641205782,
"narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -170,11 +162,11 @@
}, },
"flake-utils": { "flake-utils": {
"locked": { "locked": {
"lastModified": 1638122382, "lastModified": 1642700792,
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -185,14 +177,14 @@
}, },
"flake-utils-plus": { "flake-utils-plus": {
"inputs": { "inputs": {
"flake-utils": "flake-utils" "flake-utils": "flake-utils_2"
}, },
"locked": { "locked": {
"lastModified": 1639385028, "lastModified": 1652704544,
"narHash": "sha256-oqorKz3mwf7UuDJwlbCEYCB2LfcWLL0DkeCWhRIL820=", "narHash": "sha256-UTKE33tYgCmDszaVyWA33a8mtegM5xfH4fH8w4y6TxA=",
"owner": "gytis-ivaskevicius", "owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus", "repo": "flake-utils-plus",
"rev": "be1be083af014720c14f3b574f57b6173b4915d0", "rev": "f8d6d1f87b6177e3bc674c29f247bdbf897ba274",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -201,6 +193,36 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"locked": {
"lastModified": 1644229661,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"locked": {
"lastModified": 1652776076,
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home": { "home": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -208,27 +230,26 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1647175256, "lastModified": 1653518057,
"narHash": "sha256-7H+veXPM7IwdN1DoZqliwb9sghlN56koV5dnCu1kpsc=", "narHash": "sha256-cam3Nfae5ADeEs6mRPzr0jXB7+DhyMIXz0/0Q13r/yk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a8d00f5c038cf7ec54e7dac9c57b171c1217f008", "rev": "64831f938bd413cefde0b0cf871febc494afaa4f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-21.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"latest": { "latest": {
"locked": { "locked": {
"lastModified": 1638198142, "lastModified": 1650701402,
"narHash": "sha256-plU9b8r4St6q4U7VHtG9V7oF8k9fIpfXl/KDaZLuY9k=", "narHash": "sha256-XKfstdtqDg+O+gNBx1yGVKWIhLgfEDg/e2lvJSsp9vU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8a308775674e178495767df90c419425474582a1", "rev": "bc41b01dd7a9fdffd32d9b03806798797532a5fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -238,47 +259,13 @@
"type": "github" "type": "github"
} }
}, },
"nixlib": {
"locked": {
"lastModified": 1641688481,
"narHash": "sha256-6L+EU12xLDHby7y8elgFtRKVBxix+7qV8DhVgXqrKZo=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "f697717b3d3a074ffc16c8c8227504f0db292886",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixos-generators": {
"inputs": {
"nixlib": "nixlib",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1637655461,
"narHash": "sha256-kXZPbclN3gKwjhp2/RYFDFpAsSBwzX1iLF4EcnHZsPQ=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "05a3eb158a9c7746a5d463726d7f7cccf07500e4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixos-generators",
"type": "github"
}
},
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1650522846, "lastModified": 1653463224,
"narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=", "narHash": "sha256-bUxKhqZhki2vPzFTl8HOo1m7pagF7WzY1MZiso8U5ws=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "6b4ebea9093c997c5f275c820e679108de4871ab", "rev": "39a7bfc496d2ddfce73fe9542af1f2029ba4fe39",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,41 +276,31 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1648097358, "lastModified": 1653738054,
"narHash": "sha256-GMoTKP/po2Nbkh1tvPvP8Ww6NyFW8FFst1Z3nfzffZc=", "narHash": "sha256-IaR8iLN4Ms3f5EjU1CJkXSc49ZzyS5qv03DtVAti6/s=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4d60081494259c0785f7e228518fee74e0792c1b", "rev": "17b62c338f2a0862a58bb6951556beecd98ccda9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "id": "nixpkgs",
"ref": "nixpkgs-unstable", "type": "indirect"
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-wayland": { "nixpkgs-unstable": {
"inputs": {
"cachix": [
"unstable"
],
"flake-compat": "flake-compat_3",
"nixpkgs": [
"unstable"
]
},
"locked": { "locked": {
"lastModified": 1648132835, "lastModified": 1650726686,
"narHash": "sha256-39ZTwXjxk87aBOVX4BPVcrhIALxvowju1+wk2ZVkjtE=", "narHash": "sha256-hE5PCqQlsdgWH3AUTwesvjZWs5ZUZ8SjMS5cnFB6W54=",
"owner": "nix-community", "owner": "nixos",
"repo": "nixpkgs-wayland", "repo": "nixpkgs",
"rev": "d59f774e53ee13df57270077067a30a4dd56b673", "rev": "3c0f57e36ed0cf9947281e3b31f1bebb7ce5d4a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nixos",
"repo": "nixpkgs-wayland", "ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
@ -344,11 +321,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1648097358, "lastModified": 1653738054,
"narHash": "sha256-GMoTKP/po2Nbkh1tvPvP8Ww6NyFW8FFst1Z3nfzffZc=", "narHash": "sha256-IaR8iLN4Ms3f5EjU1CJkXSc49ZzyS5qv03DtVAti6/s=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4d60081494259c0785f7e228518fee74e0792c1b", "rev": "17b62c338f2a0862a58bb6951556beecd98ccda9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -360,42 +337,27 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1647350163, "lastModified": 1653738054,
"narHash": "sha256-OcMI+PFEHTONthXuEQNddt16Ml7qGvanL3x8QOl2Aao=", "narHash": "sha256-IaR8iLN4Ms3f5EjU1CJkXSc49ZzyS5qv03DtVAti6/s=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3eb07eeafb52bcbf02ce800f032f18d666a9498d", "rev": "17b62c338f2a0862a58bb6951556beecd98ccda9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixpkgs-unstable", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": {
"locked": {
"lastModified": 1647736868,
"narHash": "sha256-UzFSpGl9uvJ3wo1GznukCQgNsRqjUpvVGsEoibtQRm0=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "7cdc310b9b1e07c5c6a87af7560774ea1d106d58",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1648191473, "lastModified": 1653724318,
"narHash": "sha256-JdOfvKQkd+x/eErYvPSH0JGEcKb5w1SJk50ilMDWIYg=", "narHash": "sha256-4J2d/fc7huLrYsU7VRiquSNOcQoqQQQGNweR48zFEc4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "3b29585f08001d06ef6c90b8b7b63bc22409366f", "rev": "7a8313c6322856a5adbf9217e289733e67020652",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -406,7 +368,6 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"darwin": "darwin",
"deploy": [ "deploy": [
"digga", "digga",
"deploy" "deploy"
@ -415,7 +376,6 @@
"emacs-overlay": "emacs-overlay", "emacs-overlay": "emacs-overlay",
"home": "home", "home": "home",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs-wayland": "nixpkgs-wayland",
"nixpkgsDevInput": "nixpkgsDevInput", "nixpkgsDevInput": "nixpkgsDevInput",
"nur": "nur", "nur": "nur",
"stable": "stable", "stable": "stable",
@ -424,11 +384,11 @@
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1648163579, "lastModified": 1653653155,
"narHash": "sha256-Kv4xBXIaCq6m8b28mrMFL0lDnkIVw/DmE5+Ym4psqz8=", "narHash": "sha256-zeKfULtxT5f7yDHhg7awVhVEsTsMNGNS2/7xlymUIFU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3e201ab3def035c018641a948bb2912e99e03a37", "rev": "13c15a84ffa02c5dd288f2398cd6eaf107d16dc5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -438,32 +398,13 @@
"type": "github" "type": "github"
} }
}, },
"std": {
"inputs": {
"nixpkgs": "nixpkgs_3",
"yants": "yants"
},
"locked": {
"lastModified": 1647235919,
"narHash": "sha256-fO4dlRO0zeZtzY1QF7iLatx81jena6QP7HZEA83AJ8E=",
"owner": "divnix",
"repo": "std",
"rev": "133fb0c1cc8d0d477a3d339971ef09fa57a60fd3",
"type": "github"
},
"original": {
"owner": "divnix",
"repo": "std",
"type": "github"
}
},
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1652172129, "lastModified": 1653581809,
"narHash": "sha256-8e2JMrswaKe02P8rYfvIMoc59pNuw6h/GYu8DBE1c+0=", "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f419dc5763c2b3c5580e396dea065b6d8b58ee27", "rev": "83658b28fe638a170a19b8933aa008b30640fbd1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -475,11 +416,11 @@
}, },
"utils": { "utils": {
"locked": { "locked": {
"lastModified": 1638122382, "lastModified": 1648297722,
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -487,24 +428,6 @@
"repo": "flake-utils", "repo": "flake-utils",
"type": "github" "type": "github"
} }
},
"yants": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1645126146,
"narHash": "sha256-XQ1eg4gzXoc7Tl8iXak1uCt3KnsTyxqPtLE+vOoDnrQ=",
"owner": "divnix",
"repo": "yants",
"rev": "77df2be1b3cce9f571c6cf451f786b266a6869cc",
"type": "github"
},
"original": {
"owner": "divnix",
"repo": "yants",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -1,5 +1,5 @@
{ {
description = "A highly structured configuration database."; description = "A complete, declarative and reproducible configuration of my entire Nix fleet";
inputs = inputs =
{ {
@ -9,36 +9,30 @@
nur.url = github:nix-community/NUR; nur.url = github:nix-community/NUR;
digga.url = github:divnix/digga; digga.url = github:divnix/digga/hotfix-exported-overlays; # waiting for https://github.com/divnix/digga/issues/464
digga.inputs.nixpkgs.follows = "unstable"; digga.inputs.nixpkgs.follows = "unstable";
digga.inputs.nixlib.follows = "unstable"; digga.inputs.nixlib.follows = "unstable";
digga.inputs.home-manager.follows = "unstable"; digga.inputs.home-manager.follows = "unstable";
home.url = github:nix-community/home-manager/release-21.11; home.url = github:nix-community/home-manager;
home.inputs.nixpkgs.follows = "unstable"; home.inputs.nixpkgs.follows = "unstable";
darwin.url = github:LnL7/nix-darwin;
darwin.inputs.nixpkgs.follows = "stable";
deploy.follows = "digga/deploy"; deploy.follows = "digga/deploy";
emacs-overlay.url = github:nix-community/emacs-overlay/beffadfb0345078ab3d630e9ca6e0aaf061d3aa5; emacs-overlay.url = github:nix-community/emacs-overlay;
emacs-overlay.inputs.nixpkgs.follows = "unstable";
nixos-hardware.url = github:NixOS/nixos-hardware; nixos-hardware.url = github:NixOS/nixos-hardware;
nixpkgs-wayland.url = github:nix-community/nixpkgs-wayland;
nixpkgs-wayland.inputs.nixpkgs.follows = "unstable";
nixpkgs-wayland.inputs.cachix.follows = "unstable";
}; };
outputs = outputs =
{ self { self
, digga , stable
, unstable , unstable
, nixpkgsDevInput
, digga
, home , home
, nixos-hardware , nixos-hardware
, darwin
, nixpkgs-wayland
, emacs-overlay , emacs-overlay
, nur , nur
, deploy , deploy
@ -51,32 +45,15 @@
channelsConfig = { allowUnfree = true; }; channelsConfig = { allowUnfree = true; };
channels = channels = {
let
commonOverlays = [
nur.overlay
emacs-overlay.overlay
deploy.overlay
#nixpkgs-wayland.overlay
(import ./pkgs/default.nix {
nixpkgsUnstableInput = inputs.unstable;
nixpkgsDevInput = inputs.nixpkgsDevInput;
})
];
in
{
stable = { stable = {
imports = [ (digga.lib.importOverlays ./overlays) ]; imports = [ (digga.lib.importOverlays ./overlays) ];
overlays = commonOverlays;
}; };
unstable = { unstable = {
imports = [ (digga.lib.importOverlays ./overlays) ]; imports = [ (digga.lib.importOverlays ./overlays) ];
overlays = commonOverlays;
}; };
}; };
lib = import ./lib { lib = digga.lib // unstable.lib; };
sharedOverlays = [ sharedOverlays = [
( (
final: prev: { final: prev: {
@ -88,39 +65,46 @@
); );
} }
) )
emacs-overlay.overlay
nur.overlay
deploy.overlay
(import ./pkgs {
nixpkgsStableInput = stable;
nixpkgsDevInput = nixpkgsDevInput;
})
]; ];
nixos = { nixos = {
hostDefaults = { hostDefaults = {
# channelName = "unstable";
channelName = "stable"; channelName = "stable";
imports = [ (digga.lib.importExportableModules ./modules) ]; imports = [ (digga.lib.importExportableModules ./modules) ];
modules = [ modules = [
{ lib.our = self.lib; } # { lib.our = self.lib; }
digga.nixosModules.bootstrapIso digga.nixosModules.bootstrapIso
digga.nixosModules.nixConfig digga.nixosModules.nixConfig
home.nixosModules.home-manager home.nixosModules.home-manager
]; ];
}; };
hosts = { hosts = {
# mbp is added bypassing Digga's mkFlake and adding a specific output to this flake
pc = { pc = {
system = "x86_64-linux"; system = "x86_64-linux";
channelName = "unstable";
imports = [{ modules = ./hosts/pc; }]; imports = [{ modules = ./hosts/pc; }];
}; };
hs = { hs = {
system = "x86_64-linux"; system = "x86_64-linux";
channelName = "stable";
imports = [{ modules = ./hosts/hs; }]; imports = [{ modules = ./hosts/hs; }];
}; };
pbp = { pbp = {
system = "aarch64-linux"; system = "aarch64-linux";
channelName = "unstable";
imports = [{ modules = ./hosts/pbp; }]; imports = [{ modules = ./hosts/pbp; }];
modules = [ modules = [
"${nixos-hardware}/pine64/pinebook-pro" "${nixos-hardware}/pine64/pinebook-pro"
]; ];
}; };
}; };
# imports = [ (digga.lib.importHosts ./hosts) ]; # same reason as above
importables = rec { importables = rec {
profiles = digga.lib.rakeLeaves ./profiles // { profiles = digga.lib.rakeLeaves ./profiles // {
users = digga.lib.rakeLeaves ./users; users = digga.lib.rakeLeaves ./users;
@ -151,24 +135,20 @@
devshell = ./shell; devshell = ./shell;
homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations; homeConfigurations = digga.lib.mkHomeConfigurations
self.nixosConfigurations;
deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { }; deploy.nodes = digga.lib.mkDeployNodes
self.nixosConfigurations
{ };
} }
// { // {
# checks.aarch64-linux = { }; # ga-uncomment # The following line gets uncommented by the GitHub action during CI (`ga-uncomment`)
# checks.x86_64-darwin = { }; # ga-uncomment # is a placeholder to make `sed` find the correct line.
# packages.x86_64-darwin = { }; # ga-uncomment # This is because I found no way to get an `aarch64` GitHub runner or supporting `kvm`.
# If only there was a way to evaluate `flakes` passing arguments I could avoit this
# hacky solution.
darwinConfigurations."mbp" = darwin.lib.darwinSystem { # checks.aarch64-linux = { }; # ga-uncomment
system = "x86_64-darwin";
modules = [ home.darwinModules.home-manager ./hosts/mbp ];
inputs = { inherit darwin; };
specialArgs = {
inherit emacs-overlay;
nixpkgsUnstableInput = inputs.unstable;
nixpkgsDevInput = inputs.nixpkgsDevInput;
};
};
}; };
} }

View file

@ -1,45 +0,0 @@
{ pkgs
, home-manager
, emacs-overlay
, unstablePkgsInput
, ...
}:
{
imports = [
../../users/andreaciceri
];
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
nixpkgs = {
overlays = [
(import ../../pkgs {
inherit unstablePkgsInput
;
})
emacs-overlay.overlay
];
config.allowUnfree = true;
};
nix = {
gc = {
automatic = true;
user = "andreaciceri";
options = "--delete-older-than 3d";
};
package = pkgs.nixUnstable;
extraOptions = ''
experimental-features = nix-command
experimental-features = flakes
'';
};
}

View file

@ -1,8 +0,0 @@
{ pkgs, emacs-overlay, ... }:
{
imports = [
./configuration.nix
];
}

View file

@ -3,6 +3,8 @@
{ {
imports = with profiles; [ mount-nas sshd dbus avahi printing xdg docker adb syncthing qmk-udev ]; imports = with profiles; [ mount-nas sshd dbus avahi printing xdg docker adb syncthing qmk-udev ];
system.stateVersion = "22.05";
boot = { boot = {
initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
@ -52,30 +54,25 @@
nix = { nix = {
gc = { gc = {
automatic = true; automatic = lib.mkForce false; # Temporarily disabled, TODO: re-enable
options = "--delete-older-than 3d"; options = "--delete-older-than 3d";
}; };
# package = pkgs.nixFromMaster; # package = pkgs.nixFromMaster;
package = pkgs.nix; # currently from unstable through an overlay package = pkgs.nix;
extraOptions = '' extraOptions = lib.mkForce ''
experimental-features = ca-derivations experimental-features = ca-derivations nix-command flakes
keep-outputs = true
keep-derivations = true
''; '';
}; };
systemd.services.nix-daemon.serviceConfig = {
LimitNOFILE = lib.mkForce 131072; # should help with fds errors due to experimental feature `ca-derivations`
};
networking.firewall = { networking.firewall = {
enable = true; enable = true;
allowPing = true; allowPing = true;
}; };
# TODO: disable, only for playing
services.hydra = {
enable = true;
hydraURL = "http://localhost:3000";
notificationSender = "hydra@localhost";
buildMachinesFiles = [ ];
useSubstitutes = true;
};
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
} }

View file

@ -1,28 +0,0 @@
channels: final: prev: {
__dontExport = true; # overrides clutter up actual creations
# inherit (channels.latest)
# cachix
# dhall
# discord
# element-desktop
# rage
# nixpkgs-fmt
# qutebrowser
# signal-desktop
# starship;
# haskellPackages = prev.haskellPackages.override
# (old: {
# overrides = prev.lib.composeExtensions (old.overrides or (_: _: { })) (hfinal: hprev:
# let version = prev.lib.replaceChars [ "." ] [ "" ] prev.ghc.version;
# in
# {
# # same for haskell packages, matching ghc versions
# inherit (channels.unstable.haskell.packages."ghc${version}")
# haskell-language-server;
# });
# });
}

View file

@ -1,36 +1,28 @@
{ nixpkgsUnstableInput, nixpkgsDevInput }: { nixpkgsStableInput, nixpkgsDevInput }:
final: prev: final: prev:
let let
nixpkgsUnstable = (import nixpkgsUnstableInput {
system = prev.system;
config.allowUnfree = true; config.allowUnfree = true;
overlays = [ ];
nixpkgsStable = (import nixpkgsStableInput {
inherit config overlays;
system = prev.system;
}).pkgs; }).pkgs;
nixpkgsDev = (import nixpkgsDevInput { nixpkgsDev = (import nixpkgsDevInput {
inherit config overlays;
system = prev.system; system = prev.system;
config.allowUnfree = true;
}).pkgs; }).pkgs;
in in
{ {
# keep sources this first # keep sources this first
# sources = prev.callPackage (import ./_sources/generated.nix) { }; # sources = prev.callPackage (import ./_sources/generated.nix) { };
customEmacs = prev.callPackage (import ./emacs) { };
amule = prev.callPackage (import ./amule) { }; amule = prev.callPackage (import ./amule) { };
digikam = nixpkgsUnstable.digikam; customEmacs = prev.callPackage (import ./emacs) { pkgs = prev; };
#cura = nixpkgsUnstable.cura;
qutebrowser = import ./qutebrowser { pkgs = prev; };
#firefox-unwrapped = nixpkgsUnstable.firefox-unwrapped;
xdg-desktop-portal = nixpkgsUnstable.xdg-desktop-portal;
xdg-desktop-portal-gtk = nixpkgsUnstable.xdg-desktop-portal-gtk;
vscode = nixpkgsUnstable.vscode;
geoclue2 = nixpkgsUnstable.geoclue2;
gnome = nixpkgsUnstable.gnome;
umoria = nixpkgsDev.umoria;
droidcam = prev.callPackage (import ./droidcam) { }; droidcam = prev.callPackage (import ./droidcam) { };
v4l2loopback-dc = prev.callPackage (import ./v4l2loopback-dc) { kernel = prev.linux; };
slack = import ./slack { pkgs = prev; };
google-chrome = import ./google-chrome { pkgs = prev; }; google-chrome = import ./google-chrome { pkgs = prev; };
nixFromMaster = import ./nix-from-master { nix = nixpkgsUnstable.nix; pkgs = prev; }; nixFromMaster = import ./nix-from-master { nix = prev.nix; pkgs = prev; };
nix = nixpkgsUnstable.nix; qutebrowser = import ./qutebrowser { pkgs = prev; };
slack = import ./slack { pkgs = prev; };
umoria = nixpkgsDev.umoria;
v4l2loopback-dc = prev.callPackage (import ./v4l2loopback-dc) { kernel = prev.linux; };
# then, call packages with `final.callPackage` # then, call packages with `final.callPackage`
} }

View file

@ -1,6 +1,6 @@
{ pkgs, ... }: { pkgs, ... }:
let let
myEmacs = pkgs.emacsPgtkGcc; myEmacs = pkgs.emacsPgtkNativeComp;
emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages; emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages;
in in
emacsWithPackages ( emacsWithPackages (
@ -9,6 +9,8 @@ emacsWithPackages (
) ++ ( ) ++ (
with epkgs.melpaPackages; [ with epkgs.melpaPackages; [
# dirvish # dirvish
vimish-fold
evil-vimish-fold
aggressive-indent aggressive-indent
all-the-icons all-the-icons
company company

View file

@ -1,39 +0,0 @@
{ config, lib, pkgs, emacs-overlay, ... }: {
home-manager.users."andreaciceri" = { ... }: {
imports = [
../profiles/bat
../profiles/fzf
../profiles/zsh
../profiles/git
../profiles/direnv
../profiles/exa
../profiles/emacs
];
home.packages = with pkgs; [
yarn
pinentry_mac
openscad
nodejs-14_x
poetry
ipfs
ipget
yabai
skhd
spacebar
xquartz
xterm
qmk
youtube-dl
ffmpeg
];
programs.gpg = {
homedir = "/Users/andreaciceri/.gnupg";
enable = true;
};
};
}

View file

@ -6,7 +6,6 @@
}; };
nix-direnv = { nix-direnv = {
enable = true; enable = true;
enableFlakes = true;
}; };
}; };
} }

View file

@ -12,7 +12,7 @@
}; };
services.emacs = { services.emacs = {
enable = !pkgs.stdenv.hostPlatform.isDarwin; enable = true;
}; };
# For some reason Hunspell dictionaries paths must be specified on Darwin # For some reason Hunspell dictionaries paths must be specified on Darwin
@ -38,7 +38,6 @@
delta delta
fd fd
graphviz-nox graphviz-nox
haskell-language-server
hunspell hunspell
hunspellDicts.en_US hunspellDicts.en_US
hunspellDicts.it_IT hunspellDicts.it_IT
@ -49,7 +48,6 @@
python3Full python3Full
rnix-lsp rnix-lsp
silver-searcher silver-searcher
stylish-haskell
unzip unzip
( (
makeDesktopItem { makeDesktopItem {
@ -58,19 +56,12 @@
comment = "Org protocol"; comment = "Org protocol";
desktopName = "org-protocol"; desktopName = "org-protocol";
type = "Application"; type = "Application";
mimeType = "x-scheme-handler/org-protocol"; mimeTypes = [ "x-scheme-handler/org-protocol" ];
} }
) )
] ++ (if pkgs.system == "x86_64-linux" then [ ] ++ (if pkgs.system == "x86_64-linux" then [
python-language-server python-language-server
] ++ (with easy-ps; [ ] ++ (with easy-ps; [
# spago2nix
ffmpegthumbnailer ffmpegthumbnailer
nodejs
pulp
purescript-language-server
purs
purs-tidy
spago
]) else [ ]); ]) else [ ]);
} }

View file

@ -4,4 +4,4 @@
:config :config
(envrc-global-mode)) (envrc-global-mode))
(provide 'config-envrc) (provide 'config-direnv)

View file

@ -16,4 +16,17 @@
:config :config
(evil-collection-init)) (evil-collection-init))
(use-package vimish-fold
:ensure
:after evil)
(use-package evil-vimish-fold
:ensure
:after vimish-fold
:init
(setq evil-vimish-fold-mode-lighter "")
(setq evil-vimish-fold-target-modes '(prog-mode conf-mode text-mode))
:config
(global-evil-vimish-fold-mode))
(provide 'config-evil) (provide 'config-evil)

View file

@ -1,9 +1,9 @@
(use-package nix-mode (use-package nix-mode
:mode "\\.nix\\'" :mode "\\.nix\\'"
;;:hook :config (setq format-on-save t)
;;(before-save . lsp-format-buffer) :bind ("<f8>" . (lambda () (interactive) (setq format-on-save (not format-on-save)) ))
) :hook
(before-save . (lambda () (when (format-on-save) (lsp-format-buffer)))))
(require 'sudo-utils) (require 'sudo-utils)

View file

@ -41,7 +41,7 @@
comment = "Qutebrowser"; comment = "Qutebrowser";
desktopName = "qutebrowser"; desktopName = "qutebrowser";
type = "Application"; type = "Application";
mimeType = "x-scheme-handler/https"; mimeTypes = [ "x-scheme-handler/https" ];
} }
) )
]; ];

View file

@ -1,9 +1,5 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
# only purpose of this is to make vscode login to Github
services.gnome-keyring.enable = true;
programs.vscode = { programs.vscode = {
enable = true; enable = true;