Compare commits

...

3 commits

Author SHA1 Message Date
997bff55a2
why did this not format in the previous commit???? 2024-12-20 15:15:01 +02:00
e08f66d286
Format with alejandra 2024-12-20 15:11:42 +02:00
4771948682
Flake: add haivim input 2024-12-20 14:50:56 +02:00
31 changed files with 854 additions and 356 deletions

View file

@ -57,11 +57,11 @@
}, },
"catppuccin": { "catppuccin": {
"locked": { "locked": {
"lastModified": 1734397929, "lastModified": 1734637345,
"narHash": "sha256-VCTVpU/RlrI9StxzDnqc1R3ZTQloLVALSkiN/Fgiad4=", "narHash": "sha256-wmg3ghpD6TEgnAWQcm6uIrPIBKp4lY4rTqzEzgHRV8g=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "21310cde33d3ee8023679dec01a9724a346c63ff", "rev": "72387df84ad52b0b54b98c3e72a62fa4a510413a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -78,11 +78,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1734346739, "lastModified": 1734631939,
"narHash": "sha256-Um5yY36idRodddotyBaI9sQjw/xw5SV6tt3jPRgL330=", "narHash": "sha256-ZrvI+3uXL6Y9v1+xyNVPpMav0SYPi2ZwcmkaTyarN0E=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "7228d7032f0316dbc69b69584ec07707efbd38c9", "rev": "5694778dcfd69cc5dab9bd83c9eeb147ed3537e4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -114,6 +114,28 @@
"type": "github" "type": "github"
} }
}, },
"devshell": {
"inputs": {
"nixpkgs": [
"haivim",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1728330715,
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"owner": "numtide",
"repo": "devshell",
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"disko": { "disko": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -152,6 +174,20 @@
} }
}, },
"flake-compat_2": { "flake-compat_2": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"revCount": 57,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
@ -167,7 +203,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_3": { "flake-compat_4": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
@ -184,6 +220,28 @@
} }
}, },
"flake-parts": { "flake-parts": {
"inputs": {
"nixpkgs-lib": [
"haivim",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nur", "nur",
@ -219,9 +277,45 @@
} }
}, },
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_4"
}, },
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_6"
},
"locked": { "locked": {
"lastModified": 1726560853, "lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
@ -253,7 +347,63 @@
"type": "github" "type": "github"
} }
}, },
"git-hooks": {
"inputs": {
"flake-compat": [
"haivim",
"nixvim",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"haivim",
"nixvim",
"nixpkgs"
],
"nixpkgs-stable": [
"haivim",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1734425854,
"narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": {
"nixpkgs": [
"haivim",
"nixvim",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
@ -275,6 +425,28 @@
"type": "github" "type": "github"
} }
}, },
"haivim": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
],
"nixvim": "nixvim"
},
"locked": {
"lastModified": 1734699281,
"narHash": "sha256-pjlbWc1bgrlk5amtIOFoj5g1pHAMOWKWoYlIok8NAIs=",
"ref": "refs/heads/main",
"rev": "81db83c82f89b5db7095b2288e5d8fc21fd254d5",
"revCount": 469,
"type": "git",
"url": "ssh://git@github.com/blahai/haivim"
},
"original": {
"type": "git",
"url": "ssh://git@github.com/blahai/haivim"
}
},
"harfbuzz": { "harfbuzz": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -300,11 +472,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734093295, "lastModified": 1734622158,
"narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", "narHash": "sha256-h/fdzqlCqSa2ZCIqtDc9kshCJm6kQIoKuO0MSSmAX4A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", "rev": "832920a60833533eaabcc93ab729801bf586fa0c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -316,6 +488,8 @@
"home-manager_2": { "home-manager_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"haivim",
"nixvim",
"nixpkgs" "nixpkgs"
] ]
}, },
@ -333,6 +507,26 @@
"type": "github" "type": "github"
} }
}, },
"home-manager_3": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1734622215,
"narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": { "hyprcursor": {
"inputs": { "inputs": {
"hyprlang": [ "hyprlang": [
@ -401,17 +595,17 @@
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_3", "systems": "systems_5",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1734423633, "lastModified": 1734639812,
"narHash": "sha256-iCbptYR35ifgIwkvU44u6Pbub72wlq7wmlNtemqABOk=", "narHash": "sha256-MbE5G26NM18O9+VnYW5hweAv28o7RJaVFOrZT0gIvr0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "c7d97199103fd1ca43c2a9810c085df5500169ac", "rev": "71dc9f6128b8d2e382b2a574d2d5f15e2d907f3a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -553,6 +747,36 @@
"type": "github" "type": "github"
} }
}, },
"ixx": {
"inputs": {
"flake-utils": [
"haivim",
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"haivim",
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729958008,
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.6",
"repo": "ixx",
"type": "github"
}
},
"jovian": { "jovian": {
"inputs": { "inputs": {
"nix-github-actions": "nix-github-actions", "nix-github-actions": "nix-github-actions",
@ -562,11 +786,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734162608, "lastModified": 1734591594,
"narHash": "sha256-m2AX+3eiVqIK6uO7GbGY7SFnkkYOlR5fQiNI0eRvWOQ=", "narHash": "sha256-7Q4hXE+b9A4DebZ5Q+q3WStuMiWR5bMW0ltpzbY/zMQ=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "31bdf4c7c91204d65afbde01146deee0259a8fb7", "rev": "ce2abe494524cdb389a5d31c11c41834d4362ac5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -592,6 +816,28 @@
"type": "github" "type": "github"
} }
}, },
"nix-darwin": {
"inputs": {
"nixpkgs": [
"haivim",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733570843,
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
"type": "github"
},
"original": {
"owner": "lnl7",
"repo": "nix-darwin",
"type": "github"
}
},
"nix-github-actions": { "nix-github-actions": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -617,11 +863,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1734119587, "lastModified": 1734424634,
"narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -633,11 +879,11 @@
}, },
"nixpkgs-smol": { "nixpkgs-smol": {
"locked": { "locked": {
"lastModified": 1734406807, "lastModified": 1734623593,
"narHash": "sha256-+tsK4LslNBXn55GCWuC51mrUzv0nr+BE/VlZxq1NoTs=", "narHash": "sha256-iA3kxtbds7yOc77oRBz2On9ZmOVI/1Pic+YQtYUyIsg=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "948a31b4b765c01f485c05bdeb12b2197f440d5a", "rev": "8af52ff6ba2ed83047881e877718db3bb02fad85",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -665,11 +911,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1734119587, "lastModified": 1734424634,
"narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -683,13 +929,13 @@
"locked": { "locked": {
"lastModified": 1734119587, "lastModified": 1734119587,
"narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
@ -697,11 +943,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1734119587, "lastModified": 1734424634,
"narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -712,6 +958,22 @@
} }
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": {
"lastModified": 1734424634,
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1729265718, "lastModified": 1729265718,
"narHash": "sha256-4HQI+6LsO3kpWTYuVGIzhJs1cetFcwT7quWCk/6rqeo=", "narHash": "sha256-4HQI+6LsO3kpWTYuVGIzhJs1cetFcwT7quWCk/6rqeo=",
@ -727,7 +989,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1732521221, "lastModified": 1732521221,
"narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=", "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
@ -743,18 +1005,44 @@
"type": "github" "type": "github"
} }
}, },
"nur": { "nixvim": {
"inputs": { "inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_4", "git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs_2",
"nuschtosSearch": "nuschtosSearch",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1734441016, "lastModified": 1734567959,
"narHash": "sha256-5yhAotAxJJEEjrKE5RqpqRpJ73XLCu+HBHTSib1/UQI=", "narHash": "sha256-ghNQlnI/r6cnknY58x60695sFrYnI6ZUMg65bmoNGqw=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "37608b462772e35220e02bfbd9045d0946564436",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixvim",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_5",
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1734645119,
"narHash": "sha256-EZBgqIVmEQpereef8PwNVkqZ724J07i0/j9S3xkYTGQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "6df25dc17e9c708bee5866a23d6974be4f90b332", "rev": "b0b6a0589045d85ae5dabc725338c869487f0d4c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -763,10 +1051,34 @@
"type": "github" "type": "github"
} }
}, },
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils_2",
"ixx": "ixx",
"nixpkgs": [
"haivim",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733773348,
"narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
"owner": "NuschtOS",
"repo": "search",
"rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"repo": "search",
"type": "github"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"gitignore": "gitignore", "gitignore": "gitignore_2",
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
@ -794,9 +1106,10 @@
"chaotic": "chaotic", "chaotic": "chaotic",
"deploy-rs": "deploy-rs", "deploy-rs": "deploy-rs",
"disko": "disko", "disko": "disko",
"home-manager": "home-manager_2", "haivim": "haivim",
"home-manager": "home-manager_3",
"hyprland": "hyprland", "hyprland": "hyprland",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_4",
"nixpkgs-smol": "nixpkgs-smol", "nixpkgs-smol": "nixpkgs-smol",
"nur": "nur", "nur": "nur",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
@ -833,11 +1146,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733965552, "lastModified": 1734546875,
"narHash": "sha256-GZ4YtqkfyTjJFVCub5yAFWsHknG1nS/zfk7MuHht4Fs=", "narHash": "sha256-6OvJbqQ6qPpNw3CA+W8Myo5aaLhIJY/nNFDk3zMXLfM=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "2d73fc6ac4eba4b9a83d3cb8275096fbb7ab4004", "rev": "ed091321f4dd88afc28b5b4456e0a15bd8374b4d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -848,17 +1161,17 @@
}, },
"spicetify-nix": { "spicetify-nix": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_4",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1734409034, "lastModified": 1734581787,
"narHash": "sha256-yd3VgQGJiYxWeDaThZFidDpaqIo8XHmK7m04lpl8Dl8=", "narHash": "sha256-hp4sP3gF/LIJRwCv9x3yteSFP1xVK0J6socGrJEd6Hs=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "4703114659cdb75ece88ffa4b62ad837fd7b79a6", "rev": "9df915be725751fccde78f2dfe59025bb1bfbb14",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -899,16 +1212,16 @@
}, },
"systems_3": { "systems_3": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1681028828,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"type": "github" "type": "github"
} }
}, },
@ -927,7 +1240,59 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": {
"nixpkgs": [
"haivim",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733761991,
"narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nur", "nur",
@ -968,11 +1333,11 @@
}, },
"wezterm": { "wezterm": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_3",
"freetype2": "freetype2", "freetype2": "freetype2",
"harfbuzz": "harfbuzz", "harfbuzz": "harfbuzz",
"libpng": "libpng", "libpng": "libpng",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_6",
"rust-overlay": "rust-overlay", "rust-overlay": "rust-overlay",
"zlib": "zlib" "zlib": "zlib"
}, },
@ -1035,7 +1400,7 @@
}, },
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1732835488, "lastModified": 1732835488,

View file

@ -26,6 +26,15 @@
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
nur.url = "github:nix-community/NUR"; nur.url = "github:nix-community/NUR";
# This is a private repository for now while I work on it
# My plan is to make it public by the end of the year
# for now have a look at https://github.com/redyf/Neve
# as that is where I *borrowed* the base from
haivim = {
url = "git+ssh://git@github.com/blahai/haivim";
inputs = {nixpkgs.follows = "nixpkgs";};
};
deploy-rs = { deploy-rs = {
url = "github:serokell/deploy-rs"; url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -58,56 +67,58 @@
wezterm.url = "github:wez/wezterm?dir=nix"; wezterm.url = "github:wez/wezterm?dir=nix";
catppuccin = { url = "github:catppuccin/nix"; }; catppuccin = {url = "github:catppuccin/nix";};
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
zen-browser.url = "github:ch4og/zen-browser-flake"; zen-browser.url = "github:ch4og/zen-browser-flake";
}; };
outputs = { nixpkgs, nixpkgs-smol, chaotic, home-manager, disko, ... }@inputs: outputs = {
let system = "x86_64-linux"; nixpkgs,
in { nixpkgs-smol,
nixosConfigurations = { chaotic,
nyx = nixpkgs.lib.nixosSystem { home-manager,
specialArgs = { disko,
inherit inputs; ...
pkgs-smol = import nixpkgs-smol { } @ inputs: let
inherit system; system = "x86_64-linux";
config.allowUnfree = true; in {
}; nixosConfigurations = {
nyx = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
pkgs-smol = import nixpkgs-smol {
inherit system;
config.allowUnfree = true;
}; };
modules = [
./hosts/nyx/configuration.nix
inputs.home-manager.nixosModules.default
chaotic.nixosModules.default
];
}; };
modules = [
./hosts/nyx/configuration.nix
inputs.home-manager.nixosModules.default
chaotic.nixosModules.default
];
};
# helios = nixpkgs.lib.nixosSystem { # helios = nixpkgs.lib.nixosSystem {
# modules = [ # modules = [
# ./hosts/helios/configuration.nix # ./hosts/helios/configuration.nix
# # inputs.home-manager.nixosModules.default # # inputs.home-manager.nixosModules.default
# chaotic.nixosModules.default # chaotic.nixosModules.default
# ]; # ];
# }; # };
theia = nixpkgs.lib.nixosSystem { theia = nixpkgs.lib.nixosSystem {
modules = modules = [./hosts/theia/configuration.nix disko.nixosModules.disko];
[ ./hosts/theia/configuration.nix disko.nixosModules.disko ]; };
};
epimetheus = nixpkgs.lib.nixosSystem {
epimetheus = nixpkgs.lib.nixosSystem { specialArgs = {
specialArgs = { inherit inputs;
inherit inputs; pkgs-smol = import nixpkgs-smol {inherit system;};
pkgs-smol = import nixpkgs-smol {
inherit system;
};
};
modules =
[ ./hosts/epimetheus/configuration.nix disko.nixosModules.disko ];
}; };
modules = [./hosts/epimetheus/configuration.nix disko.nixosModules.disko];
}; };
}; };
};
} }

View file

@ -1,15 +1,21 @@
{ pkgs, pkgs-smol, lib, modulesPath, config, ... }: { {
pkgs,
imports = [ "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" ]; pkgs-smol,
lib,
modulesPath,
config,
...
}: {
imports = ["${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"];
boot = { boot = {
supportedFilesystems = [ "zfs" ]; supportedFilesystems = ["zfs"];
zfs = { zfs = {
forceImportRoot = false; forceImportRoot = false;
package = pkgs-smol.zfs; package = pkgs-smol.zfs;
}; };
kernelPackages = pkgs-smol.linuxPackages_6_12; kernelPackages = pkgs-smol.linuxPackages_6_12;
kernelParams = lib.mkAfter [ "noquiet" "toram" ]; kernelParams = lib.mkAfter ["noquiet" "toram"];
enableContainers = false; enableContainers = false;
}; };
@ -30,7 +36,6 @@
dnf5 # Fedora dnf5 # Fedora
debootstrap # Debin and ubuntu debootstrap # Debin and ubuntu
apt # Ubuntu apt # Ubuntu
]; ];
documentation = { documentation = {
@ -56,7 +61,7 @@
environment = { environment = {
stub-ld.enable = lib.mkForce false; stub-ld.enable = lib.mkForce false;
defaultPackages = [ ]; defaultPackages = [];
}; };
xdg = { xdg = {
@ -68,10 +73,10 @@
nix = { nix = {
package = pkgs.lix; package = pkgs.lix;
nixPath = [ "nixpkgs=${config.nix.registry.nixpkgs.to.path}" ]; nixPath = ["nixpkgs=${config.nix.registry.nixpkgs.to.path}"];
channel.enable = false; channel.enable = false;
settings = { settings = {
experimental-features = [ "nix-command" "flakes" "auto-allocate-uids" ]; experimental-features = ["nix-command" "flakes" "auto-allocate-uids"];
max-jobs = "auto"; max-jobs = "auto";
sandbox = true; sandbox = true;
auto-optimise-store = true; auto-optimise-store = true;
@ -92,10 +97,8 @@
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
"wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0=" "wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0="
]; ];
}; };
}; };
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
} }

View file

@ -1,6 +1,11 @@
{ config, pkgs, pkgs-smol, inputs, system, lib, ... }:
{ {
config,
pkgs,
pkgs-smol,
inputs,
lib,
...
}: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/nixos/default.nix ../../modules/nixos/default.nix
@ -18,18 +23,18 @@
}; };
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
supportedFilesystems = [ "zfs" "ext4" "btrfs" ]; supportedFilesystems = ["zfs" "ext4" "btrfs"];
zfs = { zfs = {
forceImportRoot = false; forceImportRoot = false;
extraPools = [ "zpool" "zootfs" ]; extraPools = ["zpool" "zootfs"];
devNodes = "/dev/disk/by-id"; devNodes = "/dev/disk/by-id";
package = pkgs.zfs; package = pkgs.zfs;
allowHibernation = true; # might cause corruption? allowHibernation = true; # might cause corruption?
}; };
kernelPackages = pkgs.linuxPackages_6_12; kernelPackages = pkgs.linuxPackages_6_12;
kernel = { sysctl = { "vm.max_map_count" = 2147483642; }; }; kernel = {sysctl = {"vm.max_map_count" = 2147483642;};};
kernelParams = [ kernelParams = [
"elevator=none" # for zfs "elevator=none" # for zfs
"zfs.zfs_arc_max=8589934592" "zfs.zfs_arc_max=8589934592"
"nvme.noacpi=1" "nvme.noacpi=1"
]; ];
@ -43,14 +48,15 @@
networking = { networking = {
hostName = "nyx"; hostName = "nyx";
hostId = builtins.substring 0 8 hostId =
builtins.substring 0 8
(builtins.hashString "md5" config.networking.hostName); (builtins.hashString "md5" config.networking.hostName);
networkmanager.enable = true; networkmanager.enable = true;
stevenblack = { stevenblack = {
enable = true; enable = true;
block = [ "fakenews" "gambling" ]; block = ["fakenews" "gambling"];
}; };
nameservers = [ "1.1.1.1" "1.0.0.1" "9.9.9.9" ]; nameservers = ["1.1.1.1" "1.0.0.1" "9.9.9.9"];
}; };
time.timeZone = "Europe/Helsinki"; time.timeZone = "Europe/Helsinki";
@ -84,7 +90,6 @@
}; };
gnome.gnome-keyring.enable = true; gnome.gnome-keyring.enable = true;
}; };
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
@ -94,7 +99,7 @@
pingu = { pingu = {
isNormalUser = true; isNormalUser = true;
description = "Elissa"; description = "Elissa";
extraGroups = [ "networkmanager" "wheel" "input" "render" ]; extraGroups = ["networkmanager" "wheel" "input" "render"];
shell = pkgs.fish; shell = pkgs.fish;
packages = with pkgs; [ packages = with pkgs; [
floorp floorp
@ -108,30 +113,28 @@
}; };
home-manager = { home-manager = {
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = {inherit inputs;};
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
verbose = true; verbose = true;
backupFileExtension = "bak"; backupFileExtension = "bak";
users = { "pingu" = import ./home.nix; }; users = {"pingu" = import ./home.nix;};
}; };
systemd = { systemd = {
user.services.polkit-gnome-authentication-agent-1 = { user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1"; description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ]; wantedBy = ["graphical-session.target"];
wants = [ "graphical-session.target" ]; wants = ["graphical-session.target"];
after = [ "graphical-session.target" ]; after = ["graphical-session.target"];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
ExecStart = ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = 1; RestartSec = 1;
TimeoutStopSec = 10; TimeoutStopSec = 10;
}; };
}; };
}; };
programs = { programs = {
@ -145,7 +148,7 @@
portalPackage = inputs.hyprland.packages."${pkgs.system}".hyprland; portalPackage = inputs.hyprland.packages."${pkgs.system}".hyprland;
}; };
direnv = { enable = true; }; direnv = {enable = true;};
nh = { nh = {
enable = true; enable = true;
@ -167,17 +170,17 @@
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nix = { nix = {
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; nixPath = ["nixpkgs=${inputs.nixpkgs}"];
package = pkgs.lix; package = pkgs.lix;
settings = { settings = {
experimental-features = [ "nix-command" "flakes" "auto-allocate-uids" ]; experimental-features = ["nix-command" "flakes" "auto-allocate-uids"];
max-jobs = "auto"; max-jobs = "auto";
sandbox = true; sandbox = true;
auto-optimise-store = true; auto-optimise-store = true;
keep-going = true; keep-going = true;
warn-dirty = false; warn-dirty = false;
use-xdg-base-directories = true; use-xdg-base-directories = true;
trusted-users = [ "@wheel" "pingu" "root" ]; trusted-users = ["@wheel" "pingu" "root"];
substituters = [ substituters = [
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://nixpkgs-unfree.cachix.org" "https://nixpkgs-unfree.cachix.org"
@ -197,13 +200,12 @@
qt.enable = true; qt.enable = true;
environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 = environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with pkgs.gst_all_1; [
lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with pkgs.gst_all_1; [ gst-plugins-good
gst-plugins-good gst-plugins-bad
gst-plugins-bad gst-plugins-ugly
gst-plugins-ugly gst-libav
gst-libav ]);
]);
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nautilus nautilus
@ -248,7 +250,8 @@
lua-language-server lua-language-server
nil nil
nixd nixd
nixfmt-classic nix-output-monitor
alejandra
zip zip
nodejs nodejs
typescript typescript
@ -274,7 +277,6 @@
imagemagick imagemagick
wireguard-tools wireguard-tools
mission-center mission-center
nix-output-monitor
speedcrunch speedcrunch
geogebra geogebra
]; ];
@ -298,6 +300,11 @@
enableSSHSupport = true; enableSSHSupport = true;
}; };
programs.localsend = {
enable = true;
openFirewall = true;
};
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
@ -307,5 +314,4 @@
}; };
system.stateVersion = "24.05"; system.stateVersion = "24.05";
} }

View file

@ -1,78 +1,95 @@
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "hid_generic" "uas" "sd_mod" ]; boot.initrd.availableKernelModules = ["nvme" "ahci" "xhci_pci" "usbhid" "hid_generic" "uas" "sd_mod"];
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = [ "kvm-amd" "amd-pstate" ]; boot.kernelModules = ["kvm-amd" "amd-pstate"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = { fileSystems."/" = {
device = "zpool/root"; device = "zpool/root";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
fileSystems."/nix" = { fileSystems."/nix" = {
device = "zpool/nix"; device = "zpool/nix";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
fileSystems."/var" = { fileSystems."/var" = {
device = "zpool/var"; device = "zpool/var";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
fileSystems."/home" = { fileSystems."/home" = {
device = "zpool/home"; device = "zpool/home";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
};
fileSystems."/var/lib/virt/images" = {
device = "zpool/virt/images";
fsType = "zfs";
options = ["zfsutil"];
};
fileSystems."/var/lib/virt/disks" = {
device = "zpool/virt/disks";
fsType = "zfs";
options = ["zfsutil"];
}; };
fileSystems."/mnt/zootfs/Storage" = { fileSystems."/mnt/zootfs/Storage" = {
device = "zootfs/Storage"; device = "zootfs/Storage";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
fileSystems."/mnt/zootfs/Media" = { fileSystems."/mnt/zootfs/Media" = {
device = "zootfs/Media"; device = "zootfs/Media";
fsType = "zfs"; fsType = "zfs";
options = [ "zfsutil" ]; options = ["zfsutil"];
}; };
# https://github.com/atuinsh/atuin/issues/952#issuecomment-1902164562 # https://github.com/atuinsh/atuin/issues/952#issuecomment-1902164562
fileSystems."/home/pingu/.local/share/atuin" = { fileSystems."/home/pingu/.local/share/atuin" = {
device = "/dev/zvol/zpool/nixos/atuin"; device = "/dev/zvol/zpool/nixos/atuin";
fsType = "ext4"; fsType = "ext4";
options = [ "async" "auto" "nofail" ]; options = ["async" "auto" "nofail"];
}; };
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-label/BOOT"; device = "/dev/disk/by-label/BOOT";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = ["fmask=0022" "dmask=0022"];
}; };
fileSystems."/mnt/ssd" = { fileSystems."/mnt/ssd" = {
device = "/dev/disk/by-uuid/e4c31e1c-6667-4582-8d6a-d142d6118ce2"; device = "/dev/disk/by-uuid/e4c31e1c-6667-4582-8d6a-d142d6118ce2";
fsType = "btrfs"; fsType = "btrfs";
options = [ "async" "auto" "noatime" "rw" ]; options = ["async" "auto" "noatime" "rw"];
}; };
fileSystems."/mnt/ext" = { fileSystems."/mnt/ext" = {
device = "/dev/disk/by-uuid/43280a82-cf9a-452e-9bdc-a8cc66ccd7c8"; device = "/dev/disk/by-uuid/43280a82-cf9a-452e-9bdc-a8cc66ccd7c8";
fsType = "btrfs"; fsType = "btrfs";
options = [ "async" "auto" "nofail" "noatime" ]; options = ["async" "auto" "nofail" "noatime"];
}; };
swapDevices = [{ device = "/dev/disk/by-uuid/04281bd7-784a-4287-b4f2-ce406d2ab6ac"; }]; swapDevices = [{device = "/dev/disk/by-uuid/04281bd7-784a-4287-b4f2-ce406d2ab6ac";}];
# networking.useDHCP = lib.mkDefault true; # networking.useDHCP = lib.mkDefault true;
hardware.enableRedistributableFirmware = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = true; hardware.cpu.amd.updateMicrocode = true;
} }

View file

@ -1,4 +1,9 @@
{ inputs, config, pkgs, ... }: { {
inputs,
config,
pkgs,
...
}: {
imports = [ imports = [
../../modules/home-manager/default.nix ../../modules/home-manager/default.nix
inputs.catppuccin.homeManagerModules.catppuccin inputs.catppuccin.homeManagerModules.catppuccin
@ -23,10 +28,10 @@
autocrlf = "input"; autocrlf = "input";
}; };
url = { url = {
"ssh://git@github.com/" = { insteadOf = "https://github.com/"; }; "ssh://git@github.com/" = {insteadOf = "https://github.com/";};
}; };
gpg = { format = "ssh"; }; gpg = {format = "ssh";};
init = { defaultBranch = "main"; }; init = {defaultBranch = "main";};
}; };
}; };
@ -45,12 +50,15 @@
gtk = { gtk = {
enable = true; enable = true;
catppuccin = { };
catppuccin = {
gtk = {
enable = true; enable = true;
flavor = "mocha"; flavor = "mocha";
accent = "pink"; accent = "pink";
size = "standard"; size = "standard";
tweaks = [ "normal" ]; tweaks = ["normal"];
icon.enable = true; icon.enable = true;
}; };
}; };
@ -64,9 +72,12 @@
home.stateVersion = "24.11"; home.stateVersion = "24.11";
home.packages = with pkgs; [ obsidian ]; home.packages = with pkgs; [
obsidian
inputs.haivim.packages.${pkgs.system}.default
];
home.sessionVariables = { EDITOR = "nvim"; }; home.sessionVariables = {EDITOR = "nvim";};
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;

View file

@ -1,7 +1,13 @@
{ config, modulesPath, lib, pkgs, ... }: { {
config,
modulesPath,
lib,
pkgs,
...
}: {
system.stateVersion = "24.11"; system.stateVersion = "24.11";
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; imports = [(modulesPath + "/profiles/qemu-guest.nix")];
boot = { boot = {
initrd.availableKernelModules = [ initrd.availableKernelModules = [
@ -14,9 +20,9 @@
"sr_mod" "sr_mod"
"virtio_blk" "virtio_blk"
]; ];
initrd.kernelModules = [ ]; initrd.kernelModules = [];
kernelPackages = pkgs.linuxPackages_6_12; kernelPackages = pkgs.linuxPackages_6_12;
kernelModules = [ "kvm-amd" ]; kernelModules = ["kvm-amd"];
kernel = { kernel = {
sysctl = { sysctl = {
"vm.max_map_count" = 2147483642; "vm.max_map_count" = 2147483642;
@ -28,7 +34,7 @@
"net.ipv6.conf.all.forwarding" = 1; "net.ipv6.conf.all.forwarding" = 1;
}; };
}; };
extraModulePackages = [ ]; extraModulePackages = [];
loader.grub = { loader.grub = {
enable = true; enable = true;
device = "/dev/vda"; device = "/dev/vda";
@ -38,7 +44,7 @@
nix = { nix = {
package = pkgs.lix; package = pkgs.lix;
settings = { settings = {
experimental-features = [ "nix-command" "flakes" ]; experimental-features = ["nix-command" "flakes"];
auto-optimise-store = true; auto-optimise-store = true;
sandbox = true; sandbox = true;
}; };
@ -58,13 +64,15 @@
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/FED3-A372"; device = "/dev/disk/by-uuid/FED3-A372";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ]; options = ["fmask=0022" "dmask=0022"];
}; };
swapDevices = [{ swapDevices = [
device = "/var/lib/swapfile"; {
size = 16 * 1024; device = "/var/lib/swapfile";
}]; size = 16 * 1024;
}
];
networking = { networking = {
enableIPv6 = false; # Had to disable for now due to problems with resolving enableIPv6 = false; # Had to disable for now due to problems with resolving
@ -82,7 +90,7 @@
]; ];
}; };
hostName = "theia"; hostName = "theia";
nameservers = [ "1.1.1.1" "8.8.8.8" "9.9.9.9" ]; nameservers = ["1.1.1.1" "8.8.8.8" "9.9.9.9"];
domain = "theia.blahai.gay"; domain = "theia.blahai.gay";
useDHCP = lib.mkDefault false; useDHCP = lib.mkDefault false;
defaultGateway = { defaultGateway = {
@ -93,15 +101,19 @@
interfaces = { interfaces = {
ens3 = { ens3 = {
ipv4 = { ipv4 = {
addresses = [{ addresses = [
address = "178.63.118.252"; {
prefixLength = 32; address = "178.63.118.252";
}]; prefixLength = 32;
}
];
routes = [{ routes = [
address = "178.63.247.183"; {
prefixLength = 32; address = "178.63.247.183";
}]; prefixLength = 32;
}
];
}; };
}; };
}; };
@ -117,7 +129,7 @@
networkd-dispatcher = { networkd-dispatcher = {
enable = true; enable = true;
rules."50-tailscale" = { rules."50-tailscale" = {
onState = [ "routable" ]; onState = ["routable"];
script = '' script = ''
${ ${
lib.getExe pkgs.ethtool lib.getExe pkgs.ethtool
@ -142,13 +154,12 @@
"n?vim" "n?vim"
]; ];
prefer = prefer =
lib.concatStringsSep "|" [ "dotnet" "java.*" "nix" "npm" "node" ]; lib.concatStringsSep "|" ["dotnet" "java.*" "nix" "npm" "node"];
in [ in [
"-g" "-g"
"--avoid '(^|/)(${avoid})'" # things that we want to avoid killing "--avoid '(^|/)(${avoid})'" # things that we want to avoid killing
"--prefer '(^|/)(${prefer})'" # things we want to remove fast "--prefer '(^|/)(${prefer})'" # things we want to remove fast
]; ];
}; };
caddy = { caddy = {
@ -184,7 +195,7 @@
uptime-kuma = { uptime-kuma = {
enable = true; enable = true;
settings = { PORT = "3001"; }; settings = {PORT = "3001";};
}; };
forgejo = { forgejo = {
@ -227,10 +238,9 @@
use_default_settings = true; use_default_settings = true;
server = { server = {
port = 8888; port = 8888;
secret_key = secret_key = "7360d3df7c08ce681cf6d5122e3e182de2c5205e962766abd3e6dfc8dec1b683";
"7360d3df7c08ce681cf6d5122e3e182de2c5205e962766abd3e6dfc8dec1b683";
}; };
ui = { infinite_scroll = true; }; ui = {infinite_scroll = true;};
general = { general = {
instance_name = "searchai"; instance_name = "searchai";
@ -247,7 +257,7 @@
openssh = { openssh = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
settings = { PasswordAuthentication = false; }; settings = {PasswordAuthentication = false;};
}; };
fail2ban = { fail2ban = {
@ -261,26 +271,24 @@
}; };
}; };
programs = { nix-ld.enable = true; }; programs = {nix-ld.enable = true;};
users.users.root = { users.users.root = {
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD"
]; ];
initialHashedPassword = initialHashedPassword = "$y$j9T$TzqbL4iMGLjli6EEXfRCZ0$AhFJ4iCFxRlstth5owic3M5nq74Sp1qhtctjSBcgAl8";
"$y$j9T$TzqbL4iMGLjli6EEXfRCZ0$AhFJ4iCFxRlstth5owic3M5nq74Sp1qhtctjSBcgAl8";
}; };
users.users.pingu = { users.users.pingu = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" ]; extraGroups = ["wheel"];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPbmiNqoyeKXk/VopFm2cFfEnV4cKCFBhbhyYB69Fuu"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILLqPq70t6RbnI8UejEshYcfBP66I4OrLFjvGLLfIEXD"
]; ];
initialHashedPassword = initialHashedPassword = "$y$j9T$cxwKGmzYyC1eLeIysr8r/.$dsxxxV4NvXY.Wpd9LO.RiuMQuy2lYyy2HGrk52BJX08";
"$y$j9T$cxwKGmzYyC1eLeIysr8r/.$dsxxxV4NvXY.Wpd9LO.RiuMQuy2lYyy2HGrk52BJX08";
}; };
users.users.minecraft = { users.users.minecraft = {
@ -295,10 +303,8 @@
openjdk21 openjdk21
openjdk17 openjdk17
screen screen
]; ];
initialHashedPassword = initialHashedPassword = "$y$j9T$KpQYYLB6eWfHAUo9.o/uy1$gnj/UlWLrx5XBZDm2GNdjHs2G5D3XxxqqtrCIf5MX43";
"$y$j9T$KpQYYLB6eWfHAUo9.o/uy1$gnj/UlWLrx5XBZDm2GNdjHs2G5D3XxxqqtrCIf5MX43";
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -1,5 +1,4 @@
{ lib, ... }: {lib, ...}: {
{
disko.devices = { disko.devices = {
disk.disk1 = { disk.disk1 = {
device = lib.mkDefault "/dev/vda"; device = lib.mkDefault "/dev/vda";

View file

@ -1,6 +1,11 @@
{ inputs, pkgs, lib, ... }: { {
inputs,
pkgs,
lib,
...
}: {
# add the home manager module # add the home manager module
imports = [ inputs.ags.homeManagerModules.default ]; imports = [inputs.ags.homeManagerModules.default];
home.packages = with pkgs; [ home.packages = with pkgs; [
bun bun

View file

@ -1,8 +1,12 @@
{ pkgs, lib, config, ... } :
{ {
pkgs,
lib,
config,
...
}: {
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
settings = { settings = {
window = { window = {
opacity = 0.9; opacity = 0.9;

View file

@ -1,4 +1,9 @@
{ pkgs, lib, config, ... }: { {
pkgs,
lib,
config,
...
}: {
home.file."Pictures/gay.png".source = ./gay.png; home.file."Pictures/gay.png".source = ./gay.png;
programs.fastfetch = { programs.fastfetch = {
enable = true; enable = true;
@ -9,7 +14,7 @@
width = 32; width = 32;
}; };
display = { separator = " "; }; display = {separator = " ";};
modules = [ modules = [
{ {

View file

@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
...
}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
neofetch neofetch
]; ];
@ -63,8 +68,8 @@
''; '';
build-iso = '' build-iso = ''
cd ~/.config/nixos cd ~/.config/nixos
nix build .#nixosConfigurations.epimetheus.config.system.build.isoImage nix build .#nixosConfigurations.epimetheus.config.system.build.isoImage
''; '';
# Credit for these 3 # Credit for these 3
@ -80,7 +85,6 @@
mkcd = '' mkcd = ''
mkdir -p -- $argv[1] && cd $argv; or return $status mkdir -p -- $argv[1] && cd $argv; or return $status
''; '';
}; };
}; };

View file

@ -1,4 +1,9 @@
{ pkgs, lib, config, ... }: { {
pkgs,
lib,
config,
...
}: {
programs.foot = { programs.foot = {
enable = true; enable = true;
settings = { settings = {
@ -15,7 +20,7 @@
style = "beam"; style = "beam";
beam-thickness = 1.5; beam-thickness = 1.5;
}; };
colors = { alpha = 0.9; }; colors = {alpha = 0.9;};
}; };
}; };
} }

View file

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }:
{ {
config,
lib,
pkgs,
...
}: {
programs.starship = { programs.starship = {
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;

View file

@ -1,9 +1,14 @@
{ inputs, pkgs, lib, config, ... }:
{ {
inputs,
pkgs,
lib,
config,
...
}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
inputs.wezterm.packages.${pkgs.system}.default inputs.wezterm.packages.${pkgs.system}.default
]; ];
xdg.configFile."wezterm" = { xdg.configFile."wezterm" = {
source = config.lib.file.mkOutOfStoreSymlink "/home/pingu/.config/nixos/modules/home-manager/cli/wezterm"; source = config.lib.file.mkOutOfStoreSymlink "/home/pingu/.config/nixos/modules/home-manager/cli/wezterm";
recursive = true; recursive = true;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./cli/default.nix ./cli/default.nix
./hypr/default.nix ./hypr/default.nix

View file

@ -1,5 +1,10 @@
{ pkgs, config, inputs, lib, ... }: { {
pkgs,
config,
inputs,
lib,
...
}: {
imports = [ imports = [
./hyprland/rules.nix ./hyprland/rules.nix
./hyprland/keybinds.nix ./hyprland/keybinds.nix
@ -22,7 +27,7 @@
xdg.portal = { xdg.portal = {
enable = true; enable = true;
configPackages = [ config.wayland.windowManager.hyprland.package ]; configPackages = [config.wayland.windowManager.hyprland.package];
extraPortals = [ extraPortals = [
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
@ -35,7 +40,6 @@
package = inputs.hyprland.packages."${pkgs.system}".hyprland; package = inputs.hyprland.packages."${pkgs.system}".hyprland;
settings = { settings = {
monitor = [ monitor = [
",prefered,auto,1" ",prefered,auto,1"
]; ];
@ -144,7 +148,7 @@
misc = { misc = {
vfr = 1; vfr = 1;
vrr = 2; vrr = 2;
middle_click_paste = false; middle_click_paste = false;
focus_on_activate = true; focus_on_activate = true;
animate_manual_resizes = false; animate_manual_resizes = false;
@ -159,9 +163,6 @@
initial_workspace_tracking = false; initial_workspace_tracking = false;
}; };
}; };
};
};
} }

View file

@ -1,4 +1,9 @@
{ pkgs, config, inputs, ... }: { {
pkgs,
config,
inputs,
...
}: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
exec-once = [ exec-once = [
"${pkgs.swww}/bin/swww-daemon --format xrgb" "${pkgs.swww}/bin/swww-daemon --format xrgb"

View file

@ -1,72 +1,84 @@
{ pkgs, config, inputs, ... }: { {
pkgs,
config,
inputs,
...
}: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
bindle = [ bindle = [
",XF86AudioMute, exec, playerctl --player=spotify,%any play-pause" ",XF86AudioMute, exec, playerctl --player=spotify,%any play-pause"
",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" ",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
]; ];
bindm = [ "Super, mouse:272, movewindow" "Super, mouse:273, resizewindow" ]; bindm = ["Super, mouse:272, movewindow" "Super, mouse:273, resizewindow"];
bindn = [ " , up, pass, JKPS" ]; bindn = [" , up, pass, JKPS"];
binde = [ # Window split ratio binde = [
# Window split ratio
"Super, Semicolon, splitratio, -0.1" "Super, Semicolon, splitratio, -0.1"
"Super, Apostrophe, splitratio, 0.1" "Super, Apostrophe, splitratio, 0.1"
]; ];
bind = [ bind =
"Super, mouse_up, workspace, +1" [
"Super, mouse_down, workspace, -1" "Super, mouse_up, workspace, +1"
"Super, Page_up, workspace, -1" "Super, mouse_down, workspace, -1"
"Super, Page_down, workspace, +1" "Super, Page_up, workspace, -1"
"Super, Page_down, workspace, +1"
"Super+Shift, S, togglespecialworkspace" "Super+Shift, S, togglespecialworkspace"
"Super, R, exec, ${pkgs.anyrun}/bin/anyrun" "Super, R, exec, ${pkgs.anyrun}/bin/anyrun"
"Super, W, exec, ${pkgs.floorp}/bin/floorp" "Super, W, exec, ${pkgs.floorp}/bin/floorp"
"Super, Q, exec, wezterm" "Super, Q, exec, wezterm"
"Super, C, killactive" "Super, C, killactive"
"Super, V, togglefloating" "Super, V, togglefloating"
"Super, E, exec, ${pkgs.nautilus}/bin/nautilus -w" "Super, E, exec, ${pkgs.nautilus}/bin/nautilus -w"
"SUPERALT, V, exec, pkill fuzzel || cliphist list | fuzzel --icon-theme=candy-icons --background-color=1A1513dd --text-color=F8D4D2ff --match-color=FFB3B1ff --border-width=2 --border-radius=15 --border-color=EB8A89ff --selection-color=585b70ff --selection-text-color=F8D4D2ff --selection-match-color=FFB3B1ff --font='Lexend' --prompt='>> ' --dmenu | cliphist decode | wl-copy" "SUPERALT, V, exec, pkill fuzzel || cliphist list | fuzzel --icon-theme=candy-icons --background-color=1A1513dd --text-color=F8D4D2ff --match-color=FFB3B1ff --border-width=2 --border-radius=15 --border-color=EB8A89ff --selection-color=585b70ff --selection-text-color=F8D4D2ff --selection-match-color=FFB3B1ff --font='Lexend' --prompt='>> ' --dmenu | cliphist decode | wl-copy"
"Super, L, exec, ${pkgs.hyprlock}/bin/hyprlock" "Super, L, exec, ${pkgs.hyprlock}/bin/hyprlock"
# recording and ss stuff # recording and ss stuff
"Super, S, exec, pkill slurp || grimblast --freeze copy area" "Super, S, exec, pkill slurp || grimblast --freeze copy area"
# ags stuff # ags stuff
"Super + Control, R, exec, pkill ags; ags" "Super + Control, R, exec, pkill ags; ags"
"Super, Tab, exec, ags -t launcher" "Super, Tab, exec, ags -t launcher"
"Super, X, exec, ags -t powermenu" "Super, X, exec, ags -t powermenu"
## Hyprland stuff ## Hyprland stuff
"Super, Z, movewindow" "Super, Z, movewindow"
# Swap windows # Swap windows
"Super+Shift, left, movewindow, l" "Super+Shift, left, movewindow, l"
"Super+Shift, right, movewindow, r" "Super+Shift, right, movewindow, r"
"Super+Shift, up, movewindow, u" "Super+Shift, up, movewindow, u"
"Super+Shift, down, movewindow, d" "Super+Shift, down, movewindow, d"
# Move focus # Move focus
"Super, left, movefocus, l" "Super, left, movefocus, l"
"Super, right, movefocus, r" "Super, right, movefocus, r"
"Super, up, movefocus, u" "Super, up, movefocus, u"
"Super, down, movefocus, d" "Super, down, movefocus, d"
# Fullscreen
"Super+Shift, F, fullscreen, 0"
] ++ map (n:
"Alt, ${toString n}, movetoworkspacesilent, ${
toString (if n == 0 then 10 else n)
}") [ 1 2 3 4 5 6 7 8 9 0 ] ++ map (n:
"Super, ${toString n}, workspace, ${
toString (if n == 0 then 10 else n)
}") [ 1 2 3 4 5 6 7 8 9 0 ];
# Fullscreen
"Super+Shift, F, fullscreen, 0"
]
++ map (n: "Alt, ${toString n}, movetoworkspacesilent, ${
toString (
if n == 0
then 10
else n
)
}") [1 2 3 4 5 6 7 8 9 0]
++ map (n: "Super, ${toString n}, workspace, ${
toString (
if n == 0
then 10
else n
)
}") [1 2 3 4 5 6 7 8 9 0];
}; };
} }

View file

@ -1,7 +1,11 @@
{ pkgs, config, inputs, lib, ... }:
{ {
pkgs,
config,
inputs,
lib,
...
}: {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
workspace = [ workspace = [
"special:special, on-created-empty:exec spotify" "special:special, on-created-empty:exec spotify"
]; ];
@ -22,7 +26,6 @@
]; ];
windowrulev2 = [ windowrulev2 = [
]; ];
layerrule = [ layerrule = [
@ -47,7 +50,7 @@
"ignorealpha 0.5, launcher" "ignorealpha 0.5, launcher"
"blur, notifications" "blur, notifications"
"ignorealpha 0.69, notifications" "ignorealpha 0.69, notifications"
"animation slide top, sideleft.*" "animation slide top, sideleft.*"
"animation slide top, sideright.*" "animation slide top, sideright.*"
"blur, session" "blur, session"
@ -73,6 +76,5 @@
"blur, osk" "blur, osk"
"ignorealpha 0.20, osk" "ignorealpha 0.20, osk"
]; ];
}; };
} }

View file

@ -1,5 +1,4 @@
{ config, ... }: { {config, ...}: {
programs.hyprlock = { programs.hyprlock = {
enable = true; enable = true;
settings = { settings = {
@ -10,25 +9,28 @@
no_fade_out = true; no_fade_out = true;
}; };
backgruond = { color = "rgba(000000FF)"; }; backgruond = {color = "rgba(000000FF)";};
input-field = [{ input-field = [
monitor = ""; {
size = "250, 50"; monitor = "";
outline_thickness = 2; size = "250, 50";
dots_size = 0.1; outline_thickness = 2;
dots_spacing = 0.3; dots_size = 0.1;
outer_color = "rgba(8C909F55)"; dots_spacing = 0.3;
inner_color = "rgba(0F131C11)"; outer_color = "rgba(8C909F55)";
font_color = "rgba(C2C6D6FF)"; inner_color = "rgba(0F131C11)";
font_color = "rgba(C2C6D6FF)";
position = "0, 20"; position = "0, 20";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
}]; }
];
label = [ label = [
{ # Clock {
# Clock
monitor = ""; monitor = "";
text = "$TIME"; text = "$TIME";
shadow_passes = 1; shadow_passes = 1;
@ -40,7 +42,8 @@
position = "0, 300"; position = "0, 300";
} }
{ # Greeting {
# Greeting
monitor = ""; monitor = "";
text = "Hi $USER !!!"; text = "Hi $USER !!!";
shadow_passes = 1; shadow_passes = 1;
@ -54,7 +57,8 @@
valign = "center"; valign = "center";
} }
{ # lock icon {
# lock icon
monitor = ""; monitor = "";
text = "lock"; text = "lock";
shadow_passes = 1; shadow_passes = 1;
@ -68,7 +72,8 @@
valign = "center"; valign = "center";
} }
{ # "locked" text {
# "locked" text
monitor = ""; monitor = "";
text = "locked"; text = "locked";
shadow_passes = 1; shadow_passes = 1;
@ -91,7 +96,6 @@
# font_family = "Rubik Light"; # font_family = "Rubik Light";
#} #}
]; ];
}; };
}; };
} }

View file

@ -1,24 +1,27 @@
{ pkgs, lib, config, inputs, ... }: { {
pkgs,
lib,
config,
inputs,
...
}: {
imports = [ imports = [
inputs.spicetify-nix.homeManagerModules.default inputs.spicetify-nix.homeManagerModules.default
]; ];
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ nixpkgs.config.allowUnfreePredicate = pkg:
"spotify" builtins.elem (lib.getName pkg) [
]; "spotify"
];
programs.spicetify = programs.spicetify = let
let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; in {
in enable = true;
{ enabledExtensions = with spicePkgs.extensions; [
enable = true; hidePodcasts
enabledExtensions = with spicePkgs.extensions; [ ];
theme = spicePkgs.themes.comfy;
hidePodcasts colorScheme = "Hikari";
]; };
theme = spicePkgs.themes.comfy; }
colorScheme = "Hikari";
};
}

View file

@ -1,6 +1,5 @@
{ inputs, ... }: {inputs, ...}: {
{ imports = [inputs.catppuccin.nixosModules.catppuccin];
imports = [ inputs.catppuccin.nixosModules.catppuccin ];
config.catppuccin = { config.catppuccin = {
enable = true; enable = true;

View file

@ -1,8 +1,12 @@
{ config, pkgs, inputs, ... }: { {
config,
pkgs,
inputs,
...
}: {
nixpkgs = { nixpkgs = {
overlays = [ inputs.nur.overlays.default ]; overlays = [inputs.nur.overlays.default];
config = { allowUnfree = true; }; config = {allowUnfree = true;};
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -1,7 +1,11 @@
{ pkgs, config, ... }: { {
pkgs,
config,
...
}: {
hardware.bluetooth = { hardware.bluetooth = {
enable = true; enable = true;
settings = { General = { Experimental = true; }; }; settings = {General = {Experimental = true;};};
}; };
services.blueman.enable = true; services.blueman.enable = true;
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
imports = [ imports = [
./pipewire.nix ./pipewire.nix
./tailscale.nix ./tailscale.nix

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.jellyfin = { services.jellyfin = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;

View file

@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
...
}: {
services = { services = {
pipewire = { pipewire = {
enable = true; enable = true;
@ -17,10 +22,12 @@
}; };
}; };
pipewire-pulse."92-low-latency" = { pipewire-pulse."92-low-latency" = {
"context.properties" = [{ "context.properties" = [
name = "libpipewire-module-protocol-pulse"; {
args = { }; name = "libpipewire-module-protocol-pulse";
}]; args = {};
}
];
"pulse.properties" = { "pulse.properties" = {
"pulse.min.req" = "32/48000"; "pulse.min.req" = "32/48000";
"pulse.default.req" = "32/48000"; "pulse.default.req" = "32/48000";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.tailscale = { services.tailscale = {
enable = true; enable = true;
useRoutingFeatures = "client"; useRoutingFeatures = "client";

View file

@ -1,12 +1,17 @@
{ pkgs, lib, config, ... }: {
let enableIOMMU = true; pkgs,
lib,
config,
...
}: let
enableIOMMU = true;
in { in {
boot = lib.mkIf enableIOMMU { boot = lib.mkIf enableIOMMU {
initrd.kernelModules = lib.mkBefore [ initrd.kernelModules = lib.mkBefore [
"kvm-amd" "kvm-amd"
"vfio_pci" "vfio_pci"
"vfio_iommu_type1" "vfio_iommu_type1"
"vfio" "vfio"
]; ];
kernelParams = [ kernelParams = [
"amd_iommu=on" "amd_iommu=on"
@ -35,13 +40,12 @@ in {
}; };
}; };
docker = { enable = true; }; docker = {enable = true;};
}; };
programs = { virt-manager = { enable = true; }; }; programs = {virt-manager = {enable = true;};};
users.users.pingu.extraGroups = users.users.pingu.extraGroups = ["qemu-libvirtd" "libvirtd" "disk" "kvm" "docker"];
[ "qemu-libvirtd" "libvirtd" "disk" "kvm" "docker" ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
python3 # scripts, cba to use nix shell all the time python3 # scripts, cba to use nix shell all the time

View file

@ -1,5 +1,9 @@
{ inputs, config, ... }: { {
imports = [ inputs.sops-nix.nixosModules.sops ]; inputs,
config,
...
}: {
imports = [inputs.sops-nix.nixosModules.sops];
sops = { sops = {
defaultSopsFile = ./secrets.yaml; defaultSopsFile = ./secrets.yaml;