Skip to content

Commit

Permalink
feat(flake): initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
airone01 committed Nov 10, 2024
0 parents commit eb8f5c8
Show file tree
Hide file tree
Showing 74 changed files with 5,193 additions and 0 deletions.
125 changes: 125 additions & 0 deletions .commitlintrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# extends:
# - '@commitlint/config-conventional'

rules:
# Enforce conventional commits
type-enum:
- 2
- always
- - feat # New feature
- fix # Bug fixes
- docs # Documentation only
- style # Formatting, missing semi colons, etc
- refactor # Code change that neither fixes a bug nor adds a feature
- perf # Code change that improves performance
- test # Adding missing tests
- build # Changes that affect the build system
- ci # Changes to CI configuration files and scripts
- chore # Other changes that don't modify src or test files
- revert # Reverts a previous commit

# Scope naming convention
scope-enum:
- 2
- always
- # System-level scopes
- system
- boot
- hardware
- network
- security
# NixOS-specific
- nixos
- flake
- pkgs
- module
# Constellation names
- cassiopeia
- aquarius
- ursamajor
# Core components
- sops
- stars
- rockets
- asterisms
# Desktop environments & WMs
- gnome
- hyprland
# Applications
- nvim
- firefox
- kitty
- zsh
- btop
# Subsystems
- audio
- video
- nvidia
# Development
- dev
- python
- rust
- nix
# Documentation
- readme
- changelog
- docs

# Other rules
scope-case:
- 2
- always
- - lower-case # scope must be lower-case
- kebab-case # allow kebab-case

subject-case:
- 2
- always
- - lower-case # subject must start with lower case

subject-empty:
- 2
- never # subject cannot be empty

subject-full-stop:
- 2
- never # subject cannot end with dot

header-max-length:
- 2
- always
- 72 # keep header (first line) concise

body-leading-blank:
- 2
- always # body must start with blank line

footer-leading-blank:
- 2
- always # footer must start with blank line

help: |
Your commit message should follow this format:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Examples:
feat(nvim): add telescope plugin
fix(audio): correct pipewire configuration
docs(readme): update installation instructions
Available types:
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- style: Code style/formatting
- refactor: Code restructuring
- perf: Performance improvements
- test: Adding/updating tests
- build: Build system changes
- ci: CI configuration changes
- chore: Maintenance tasks
- revert: Revert previous changes
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
7 changes: 7 additions & 0 deletions .githooks/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env bash

# Get the commit message (first argument is the file containing the message)
MSG_FILE=$1

# Run commitlint using nix develop
nix develop .#commitlint --command commitlint --edit $MSG_FILE
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @airone01
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github: airone01
ko_fi: airone01
35 changes: 35 additions & 0 deletions .github/workflows/commit-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI

on: [push, pull_request]

jobs:
commitlint:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install required dependencies
run: |
sudo apt update
sudo apt install -y git curl
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo DEBIAN_FRONTEND=noninteractive apt install -y nodejs
- name: Print versions
run: |
git --version
node --version
npm --version
npx commitlint --version
- name: Install commitlint
run: |
npm install conventional-changelog-conventionalcommits
npm install commitlint@latest
- name: Validate current commit (last commit) with commitlint
if: github.event_name == 'push'
run: npx commitlint --last --verbose

- name: Validate PR commits with commitlint
if: github.event_name == 'pull_request'
run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose
27 changes: 27 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: release-please
on:
push:
branches:
- main

permissions:
contents: write
pull-requests: write

jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
with:
release-type: simple
package-name: nixos-config
changelog-types: |
[
{"type":"feat","section":"Features","hidden":false},
{"type":"fix","section":"Bug Fixes","hidden":false},
{"type":"docs","section":"Documentation","hidden":false},
{"type":"refactor","section":"Code Refactoring","hidden":false},
{"type":"perf","section":"Performance Improvements","hidden":false},
{"type":"build","section":"Build System","hidden":false}
]
33 changes: 33 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Build outputs
result
result-*

# Editor files
.vscode/
.idea/
*.swp
*~

# Temporary files
*.log
.direnv/

# Local overrides
local.nix

# Generated files
hardware-configuration.nix
!/constellations/*/hardware-configuration.nix

# SOPS age key
.config/sops/age/keys.txt

# System-specific files that shouldn't be tracked
*.uuid

# AI 😈
repomix-output.txt

# NodeJS
node_modules/

13 changes: 13 additions & 0 deletions .sops.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
keys:
- &primary age15ptmy54dcgrz7aa5k6jjutgrkj9x8cfcecnmy6uqkp2l7m5muvzskdtsnf
- &host_aquarius age1h8xkw2gar4nlfrwx7099lzs7jda3mcj8txn86cfppx3kyayfjcps2rutyd
creation_rules:
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
key_groups:
- age:
- *primary
- path_regex: secrets/net/[^/]+\.(yaml|json|env|ini)$
key_groups:
- age:
- *primary
- *host_aquarius
Loading

0 comments on commit eb8f5c8

Please sign in to comment.